描述
<p>注:*为必填项。</p>
<p>【请在报名阶段填写 ↓】
* 简要介绍作品:
通过扫描特定的二维码,使用微信支付一定的金额后,对应的设备会运行一定的时间。运行过程中设备可暂停,可终止执行。并记录帐单,余额下次扫码依旧可用。</p>
<p>【请在竞赛阶段填写 ↓】</p>
<h1>* 一、作品详情:</h1>
<h3><strong>1.1 硬件部份:</strong></h3>
<p>采用ESP8266作为主控,通过74HC595扩展IO驱动3颗8段数码管用于显示余量时间,通过8050驱动一个继电器用于设备功能的实现。为了开发方便,使用CH340 USB串口芯片实现电脑与目标的程序下载,程序DEBUG。</p>
<h3><strong>1.2 电路软件部份:</strong></h3>
<p>设备的程序使用ESPRESSIF官方提供的ESP8266-NONOS-SDK做为模板,使用C语言开发。通过MQTT与服务器进行数据交换。</p>
<h3>1.3 MQTT服务器的架构:</h3>
<p>设备的MQTT服务器,使用ERLANG开发的开源EMQ搭建</p>
<h3>1.4 服务器软件部份</h3>
<p>前台使用成熟的VUE-ELEMENT-TEMPLATE做为前端框架,后端使用THINKPHP,与MQTT通讯的部份则使用SWOOLE,用户扫码的手机网页与SWOOLE中间通过WEBSOCKET进行通讯。</p>
<h1>* 二、描述作品所面临的挑战及所解决的问题:</h1>
<p><strong>2.1、</strong> 因为外围电路使用的IO有点儿多,但ESP12F模块提供的IO数量有限,因此连带GPIO9,GPIO10都有使用,程序一旦运行操作GPIO9就出现了复位的情况,通过对ESP12F原理图的查询,及SPI存储芯片的查询,修改ESP12F内部的电路后,电路方能正常使用</p>
<p>**2.2、**做为一个电工要编写服务器的程序,跨度有点儿大,虽然有HTML,PHP等的基础,但一旦涉及框架,则无所适从,特别涉及到的VUE-ELEMENT-TEMPLATE主要使用JS代码,THINKPHP则是PHP语言,以及实时通讯技术所用到的WEBSOCKET与SWOOLE都需要通过查询资料实现。碰到许多的问题,有些问题无法解决通过相关的技术群,获得不少群友的支持以及热心解答,在些一并表示衷心感谢。</p>
<p>**2.3、**这个项目最大的挑战还是在服务器上面,主要是服务器进程隔离以及并发带来的问题,在操作数据库,数据缓存方面,总是会造成多次计费,生成多张记录等。直到提交项目的前一天晚上,我都一直在解决这部份问题直到零辰二点。但是问题最终还是解决了,依靠了SWOOLE提供的自旋锁,感谢韓天峰团队提供了这么好用的PHP扩展库。</p>
<p>**2.4、**做这个项目,辛苦我们家的小将,帮助勒板,焊板,上立创来完善资料,他虽然在专业方面基础不足,但有无与伦比的好奇与兴趣,一起热心处理解决问题,中间也录制了一些他工作的视频,但是因为时间快到了,写好的代码部份还发现BUG,估计没得时间剪辑了,只能对此表示遗憾了。</p>
<h1>* 三、描述作品硬件、软件部分涉及到的关键点:</h1>
<p>**3.1、**硬件部份使用ESP8266做为主控芯片,没有其它MCU,3颗FJ11001BH的数码管显示余量时间,5颗LED显示连网、工作状态;
**3.2、**使用微信支付,扫码设备二维码后支付一定金额,购买相应的余量时间,余量每次使用扣减相应的时长,剩余时长下次可用;
**3.3、**设备与服务器之间使用MQTT协议,手机页面与服务器间使用WEBSOCKET;THINKPHP与SWOOLE间使用REDIS;</p>
<h1>* 四、作品材料清单:</h1>
<table>
<tr>
<th></th>
<th></th>
<th>BOM清单</th>
<th></th>
<th></th>
</tr>
<tr>
<td>名称</td>
<td>封装</td>
<td>规格</td>
<td>位号</td>
<td>用量</td>
</tr>
<tr>
<td>贴片电阻</td>
<td>0603</td>
<td>NC</td>
<td>R25, R27, R29</td>
<td>3</td>
</tr>
<tr>
<td>贴片电阻</td>
<td>0603</td>
<td>0</td>
<td>R28</td>
<td>1</td>
</tr>
<tr>
<td>贴片电阻</td>
<td>0603</td>
<td>101</td>
<td>R12, R13</td>
<td>2</td>
</tr>
<tr>
<td>贴片电阻</td>
<td>0603</td>
<td>102</td>
<td>R3, R4, R10, R14,R15, R16, R17, R20, R23</td>
<td>9</td>
</tr>
<tr>
<td>贴片电阻</td>
<td>0603</td>
<td>103</td>
<td>R2, R5, R6, R7, R8, R9, R19, R24, R26, R1, R11, R18, R22</td>
<td>9</td>
</tr>
<tr>
<td>可调电阻</td>
<td>RES-ADJ-TH_3PIN-V-L9.50-W4.85-PITCH2.50</td>
<td>103</td>
<td>R21</td>
<td>1</td>
</tr>
<tr>
<td>电容</td>
<td>CASE-B_3528</td>
<td>NC</td>
<td>C7</td>
<td>1</td>
</tr>
<tr>
<td>电容</td>
<td>0603</td>
<td>100nF</td>
<td>C8, C9, C10</td>
<td>3</td>
</tr>
<tr>
<td>电容</td>
<td>0604</td>
<td>104</td>
<td>C1, C2, C3, C5</td>
<td>8</td>
</tr>
<tr>
<td>电容</td>
<td>CASE-B_3528</td>
<td>10uF</td>
<td>C4, C6</td>
<td>2</td>
</tr>
<tr>
<td>发光二极管</td>
<td>LED-3MM/2.54</td>
<td>R</td>
<td>LED1, LED5</td>
<td>2</td>
</tr>
<tr>
<td>发光二极管</td>
<td>LED-3MM/2.54</td>
<td>G</td>
<td>LED2</td>
<td>1</td>
</tr>
<tr>
<td>发光二极管</td>
<td>LED-3MM/2.54</td>
<td>B</td>
<td>LED3</td>
<td>1</td>
</tr>
<tr>
<td>发光二极管</td>
<td>LED-3MM/2.54</td>
<td>Y</td>
<td>LED4</td>
<td>1</td>
</tr>
<tr>
<td>贴片二极管</td>
<td>SMA(DO-214AC)</td>
<td>M7</td>
<td>D1, D2</td>
<td>2</td>
</tr>
<tr>
<td>数码管</td>
<td>FJ-10106-24MMX34MMX10.5MM-PITCH2.54MM</td>
<td>FJ11001BH</td>
<td>LED6, LED7, LED8</td>
<td>3</td>
</tr>
<tr>
<td>三极管</td>
<td>SOT-23(SOT-23-3)</td>
<td>CJ2301 S1</td>
<td>Q1, Q4, Q6, Q7</td>
<td>4</td>
</tr>
<tr>
<td>三极管</td>
<td>SOT-23</td>
<td>8050M-D</td>
<td>Q2, Q5, Q8, Q9</td>
<td>4</td>
</tr>
<tr>
<td>三极管</td>
<td>SOT-23(SOT-23-3)</td>
<td>S8550</td>
<td>Q3</td>
<td>1</td>
</tr>
<tr>
<td>连接座</td>
<td>CONN-TH_3PIN-H-PITCH5.08-L_DB2ER-5.08-3P</td>
<td>DB2ER-5.08-3P</td>
<td>CN1</td>
<td>1</td>
</tr>
<tr>
<td>连接座</td>
<td>XH-4A</td>
<td>XH-4A</td>
<td>CN2, CN3</td>
<td>2</td>
</tr>
<tr>
<td>排阻</td>
<td>0603_X4</td>
<td>102</td>
<td>RN1, RN2</td>
<td>2</td>
</tr>
<tr>
<td>DC005</td>
<td>DC-5020</td>
<td>DC005-2.0MM</td>
<td>DC1</td>
<td>1</td>
</tr>
<tr>
<td>继电器</td>
<td>RELAY-TH_5PIN_HF3FF-012-1ZS</td>
<td>HF3FF/005-1ZS</td>
<td>K1</td>
<td>1</td>
</tr>
<tr>
<td>按键</td>
<td>KEY-6.0*6.0-2</td>
<td>SW 6X6X6</td>
<td>KEY1, KEY2</td>
<td>2</td>
</tr>
<tr>
<td>ESP-12F</td>
<td>LGA22-2.0-24X16MM</td>
<td>ESP8266-12F</td>
<td>U1</td>
<td>1</td>
</tr>
<tr>
<td>光耦</td>
<td>SOP-4_4PIN-L4.83-W10.20-PITCH2.54-BL</td>
<td>CYPC817(C-TP2)</td>
<td>U2</td>
<td>1</td>
</tr>
<tr>
<td>稳压芯片</td>
<td>SOT-223</td>
<td>AMS1117-3.3_C165482</td>
<td>U3</td>
<td>1</td>
</tr>
<tr>
<td>集成电路</td>
<td>SOP-16_150MIL</td>
<td>U74HC595AG-S16-R</td>
<td>U4</td>
<td>1</td>
</tr>
<tr>
<td>集成电路</td>
<td>SOP-16_150MIL</td>
<td>CH340C</td>
<td>U5</td>
<td>1</td>
</tr>
<tr>
<td>USB接口</td>
<td>U-F-M5DD-Y-1</td>
<td>U-F-M5DD-Y-1</td>
<td>USB1</td>
<td>1</td>
</tr>
</table>
<h1>* 五、作品图片上传:(PCB上须有大赛logo标识并拍照上传,若无视为放弃参赛)</h1>
<h2>成品正面</h2>
<p><img src="//image.lceda.cn/pullimage/ZCDdrgDKzuHuuCno8JhRY7dIgrUXiRnOOavzCzFX.jpeg" alt="微信图片_20190917145441.jpg"></p>
<h2>成品背面</h2>
<p><img src="//image.lceda.cn/pullimage/iMWTYd8D7FMYTGOZ7CSuhEtAmoUgjT3cVpxdViY0.jpeg" alt="微信图片_20190917145452.jpg"></p>
<h2>扫描设备二维码</h2>
<p><img src="//image.lceda.cn/pullimage/9GDXqjH38LwzOXw5UrB4EPRafGW3VEcIWbORxDj4.png" alt="image.png"></p>
<h2>购买服务</h2>
<p><img src="//image.lceda.cn/pullimage/nf7zfjiWOjnVMgBYGAjn4We8gss67O7gz9pK69Dm.jpeg" alt="1.jpg"></p>
<h2>微信支付</h2>
<h2>支付成功</h2>
<p><img src="//image.lceda.cn/pullimage/ZNhAbyrmcIIdZJKwV3KjjaYyC4eEn1yG5Fyy3ARX.jpeg" alt="3.jpg"></p>
<h2>开始运行</h2>
<p><img src="//image.lceda.cn/pullimage/5tqkLu41Uue0qasGyWkVwdtbhBA3y6j7bD3ovYAG.jpeg" alt="2.jpg"></p>
<h2>工作运行</h2>
<p><img src="//image.lceda.cn/pullimage/yEuNqXYj5znvSZiKwKXr4F4ZC9hqn0JXzs7rZp2i.jpeg" alt="IMG_20190912_170253.jpg"></p>
<h1>* 六、演示您的作品并录制成视频上传:(视频内容须包含:作品介绍;功能演示;性能测试;PCB上大赛logo标识特写镜头,若无视为放弃参赛)</h1>
<p>体验网址:<a href="http://www.ekongyun.cn" target="_blank">http://www.ekongyun.cn</a>
帐号密码均默认,直接点击即可以登入, 所有删除操作,后端均截获不做执行,只在前端反馈</p>
<p><a href="https://v.youku.com/v_show/id_XNDM3MDk4NTM2OA==.html?spm=a2h3j.8428770.3416059.1" target="_blank">产品操作视频</a> <a href="https://v.youku.com/v_show/id_XNDM3MDk4NTM2OA==.html?spm=a2h0j.11185381.listitem_page1.5!2~A" target="_blank">https://v.youku.com/v_show/id_XNDM3MDk4NTM2OA==.html?spm=a2h0j.11185381.listitem_page1.5!2\~A</a></p>
<h1>七、开源文档:</h1>
<p>硬件部份代码:
链接:<a href="https://pan.baidu.com/s/1_VAVCGFk5n8tlOtfCmx0bQ" target="_blank">https://pan.baidu.com/s/1_VAVCGFk5n8tlOtfCmx0bQ</a>
提取码:zh8u
复制这段内容后打开百度网盘手机App,操作更方便哦</p>
<p>管理页面部份代码:
链接:<a href="https://pan.baidu.com/s/15w0cc-nEuhZFxwbHqVosAQ" target="_blank">https://pan.baidu.com/s/15w0cc-nEuhZFxwbHqVosAQ</a>
提取码:gcal
复制这段内容后打开百度网盘手机App,操作更方便哦</p>
<p>服务器守护程序代码:
链接:<a href="https://pan.baidu.com/s/1OaP51NyaqHdmHPyVp5ZPZw" target="_blank">https://pan.baidu.com/s/1OaP51NyaqHdmHPyVp5ZPZw</a>
提取码:bnh2
复制这段内容后打开百度网盘手机App,操作更方便哦
NOTE:此为基本功能测试实现程序,现实际使用并非此代码, 此代码仅提供爱好者测试,有并发操作问题。</p>
评论(8)