版本协议

BSD

标签
标准版
#第二届立创大赛#参赛作品《物联网采控系统》完结

创建时间:5年前

项目主题:自拟主题

4968 8

描述

<p><strong>一、作品简介</strong></p> <p>例如,可以包括但不局限于以下内容:</p> <p>1.作品的整机外观图片或焊接组装好的PCBA图片;</p> <p>2.作品的研究背景、目的和功能、市场应用前景;</p> <p>3.作品在创新性、趣味性、实用性甚至公益性方面,有哪些亮点可体现?</p> <p> </p> <p>        现在的物联网设备品种太多,如果要把各类的协议标准起来也不可能,例如MODBUS也只是标准了协议,并没标准协议内的有效数据。这样就会使</p> <p>各个厂家有各自的软件。如果自家用了5家的设备,那么最终你想控制这些设备要来回切换,不麻烦吗?同时也防止厂家间接“强奸”用户,例如:</p> <p>            为了使用更加方便,买同一个牌子的设备,实际上有些我并不是很喜欢,只是能凑合罢了。</p> <p> </p> <p>      用这个网关就是集成各种厂家的数据,最终给用户的只是一个界面,这样用户体验更加清爽,舒适。同时还可以把古老的设备,没有接入互联网功能</p> <p>的设备让它联网!成为一个互联网设备。让数据集中管理,用户单一管理,效率更高更实用。</p> <p> </p> <p><strong>二、系统构架图</strong></p> <p>用流程图或思维导图等形式,描述您的作品的组成构架,即方案图。</p> <p><img src="//image.lceda.cn/pullimage/mEkTbS3rnI5PNR6CYPydpw7YGBMFXAYx74ztsniL.png" alt="" width="879" height="871"></p> <p> </p> <p><strong>网关与服务器通信架构图:</strong></p> <p> <img src="//image.lceda.cn/pullimage/XXDoEM5Lrnu1HORDWG1buyv5Qzd7GFqyMqfReUUQ.png" alt="" width="417" height="245"><img title="点击查看大图" src="//" alt=""></p> <p> </p> <p><strong>网</strong><strong>关与节点的通</strong><strong>信架构图:</strong></p> <p> <img src="//image.lceda.cn/pullimage/UrS9lhFzeeyoF29cigR1hs6nbWi9Z168SHC3nZT2.png" alt="" width="742" height="446"><img title="点击查看大图" src="//" alt=""></p> <p> </p> <p><strong>三、硬件部分的描述</strong></p> <p>1.附上原理图&PCB实物图的图片或者源文件(官方建议大家尽量用源文件上传),如果是图片,请确保图片是清晰可辨的;</p> <p>2.用文字把该作品的实现原理、系统的工作过程大致讲解一下。</p> <p>PCB原文件:<a class="ke-insertfile" href="http://club.szlcsc.com/article/downFile_F36711403017984F.html" target="_blank">网关PCB源文件</a> (下载次数:1833)  </p> <p>网关原理图:</p> <p> <img src="//image.lceda.cn/pullimage/6wptmB22rto6crQOtJQNZp8lzx7AqPxVIuWAn3tx.png" alt="" width="585" height="507"></p> <p><img src="//image.lceda.cn/pullimage/pBOJcyvQg8IjJEMoVDmdi4kkbWfHzqfxUToutJQe.png" alt="" width="889" height="396"></p> <p><img src="//image.lceda.cn/pullimage/qmT9JNXJfh8x0GTEFrK9wnHaUUE6cL1N1gyKKZW8.png" alt="" width="670" height="399"></p> <p><img src="//image.lceda.cn/pullimage/vF0uqMKp1rwT64jYBAyPNawQdJdM9n1PD3VUKXri.png" alt="" width="802" height="398"></p> <p><img src="//image.lceda.cn/pullimage/FoCoF7rdZlpe4GrjoX0Ju7KeHoDA5eS8LZeZmsuU.png" alt="" width="659" height="435"></p> <p><img src="//image.lceda.cn/pullimage/nCUOYjqYXx0kU3VL7shtxxVMl1GbImJYroXWjCyS.png" alt="" width="521" height="429"></p> <p><img src="//image.lceda.cn/pullimage/2Bg2cEt8rFsJvdrHNlgiFbIrEQhmLpCE62XnJZg1.png" alt="" width="911" height="402"></p> <p><img src="//image.lceda.cn/pullimage/ZYC1dLX0CUVeWK56lM7LZNzdITE5fFZey4zABFzt.png" alt="" width="696" height="394"></p> <p> </p> <p><img title="点击查看大图" src="//" alt=""></p> <p>-----------------------------------------网关PCB图片如下--------------------------------------------------<img src="//image.lceda.cn/pullimage/GZj2IMczmJYtN0YM4kGbLZa2pOoHomxk9OIyqndU.jpeg" alt="" width="749" height="556"></p> <p><img src="//image.lceda.cn/pullimage/WCygoqrJ20FH2V2oUIjtVEhS90Q7rp7gGL3BEdGy.jpeg" alt=""></p> <p><img src="//image.lceda.cn/pullimage/8pfKNUJUX0H3AsXTiIFUpJcp3G7KOHDcsn8qjoaL.jpeg" alt="" width="456" height="465"></p> <p><img src="//image.lceda.cn/pullimage/2OzT3RdSysFOCjCugb49hzsbGspiPuvzkA31zmgW.jpeg" alt="" width="439" height="448"><img title="点击查看大图" src="//" alt=""></p> <p> <img title="点击查看大图" src="//" alt=""></p> <p> <img title="点击查看大图" src="//" alt=""></p> <p><strong>网关PCB实物图,手工焊接了2张,WIFI是预留了接口,ESP-08</strong></p> <p> <img src="//image.lceda.cn/pullimage/jwH3PMDcFeRQDkaVpNr4iJaY2vFAlRIbvf3gyGFB.jpeg" alt="" width="876" height="657"></p> <p><img src="//image.lceda.cn/pullimage/xAIonx154rWRcjb6Yya3TLpWM7y1DouEOPm5tM0Z.jpeg" alt="" width="878" height="659"></p> <p><img src="//image.lceda.cn/pullimage/5c42sixzNz8qLsd2wGWn4nLmt6collJnhoD4tEOE.jpeg" alt="" width="880" height="660"></p> <p><img src="//image.lceda.cn/pullimage/GvaIEUll5OhMdcHPt1Is8dOysFkVy7QLgAaZPP31.jpeg" alt="" width="879" height="1172"></p> <p> </p> <p>  <strong>采用了很多钽电容,目前全部焊接,如果作为实际的产品而言,可以通过测压力,去掉一些钽电容,毕竟成本太高了</strong></p> <p><strong> </strong><strong>选取的网关外壳,铝合金的,不过商家不给开孔,我得想办法了</strong></p> <p><img src="//image.lceda.cn/pullimage/BYPyEGOEuFSffHutKXtUoIZxFrtXYYecwA8hU4Er.jpeg" alt="" width="885" height="664"></p> <p><img src="//image.lceda.cn/pullimage/BMZKzQbe8lzB3qkjyExHOC9zjk9LFkcaKzflFHMs.jpeg" alt="" width="888" height="666"></p> <p><img src="//image.lceda.cn/pullimage/hmD0D21g67H5P5wD987P5oT2RmuXTzkxZ378CIAx.jpeg" alt="" width="888" height="666"></p> <p> </p> <p>=====================================无线采集控制功能验证板===============================</p> <p>  <img src="//image.lceda.cn/pullimage/phQz3aClOhy6LNUUwR2RmmPxS5lhYjdYT8fQovW6.jpeg" alt="" width="915" height="686"></p> <p><img src="//image.lceda.cn/pullimage/vhGrpgRrGZoo2bDwzQWWYs6yQxPydk5JVjYMxdY6.jpeg" alt="" width="916" height="687"><img title="点击查看大图" src="//" alt=""></p> <p> <img src="//image.lceda.cn/pullimage/SCumtzJWmiCMcpgSY5BqYuWOTG4BByh7RGHMplzP.jpeg" alt="" width="916" height="687"><img title="点击查看大图" src="//" alt=""></p> <p><img title="点击查看大图" src="//" alt=""><strong>PC远程控制软件</strong></p> <p> <img src="//image.lceda.cn/pullimage/9N8ur6PbPzwdTcl7fuJDHAXucChh3Velbltgn9Iw.png" alt="" width="440" height="427"></p> <p><img src="//image.lceda.cn/pullimage/t3upJ7ge7SEDWS8Zr6l8boLdVCI2daqvxgqhjieR.jpeg" alt="" width="956" height="717"></p> <p> </p> <p><img src="//image.lceda.cn/pullimage/ill77VW09wMCzlJJW8IpEdm311YgunEA51Qklckc.jpeg" alt="" width="953" height="715"><img title="点击查看大图" src="//" alt=""></p> <p> <img title="点击查看大图" src="//" alt=""></p> <p><strong>四、材料清单(BOM列表)</strong></p> <p>列出您这个作品所用到的主要器件(关键器件即可),比如单片机&ARM芯片、专用集成芯片(ASIC)、传感器、功能模块等。</p> <p>如果所列出的芯片是来自我们立创商城上的,最好能写出该器件的商品编号或附上对应购买链接。</p> <p>MCU:</p> <p>STM32F205</p> <p>存储:</p> <p>W25Q64 & TF</p> <p>无线通信:</p> <p>RA-01/02 & NRF24L01P & ESP8266(预留接口)</p> <p>有线通信:</p> <p>RS232/485</p> <p>RTC:</p> <p>PCF8563T</p> <p>传感器:</p> <p>BH1750FVI</p> <p>SHT211</p> <p>DS18B20</p> <p>MQ-135/MQ-2</p> <p>DCDC:</p> <p>MP2451</p> <p>LDO:</p> <p>ME6210</p> <p>所有元器件都是常用你的,除了模块,其他的立创都有。模块想必每个人呢都见过了吧,都是行业大佬出的模块。</p> <p> <img src="//image.lceda.cn/pullimage/JTvGjsH3v4J4gzTlVAhN5HaUwxadgt2oVdZH2nf2.png" alt="" width="1144" height="1612"></p> <p><img src="//image.lceda.cn/pullimage/rkTLSkwwnk7CXDvZOC7afWFbs4758FwChScpQdYP.png" alt="" width="1144" height="1612"><img title="点击查看大图" src="//" alt=""> <img title="点击查看大图" src="//" alt=""></p> <p><strong>BOM没有整理,有点乱!嘿嘿</strong></p> <p><strong>五、软件部分的描述(选填)</strong></p> <p>见 【二】</p> <p>硬件介绍:</p> <p><strong>LORA(Aithink RA-01):</strong></p> <p>      选取LORA的原因是,针对于物联网行业,越来越多的设备选择它是因为距离比较远,但是缺点也没见几个人说,那就是距离远,传输速率慢!传输时间长!</p> <p>      (20dbm的功率,9600bps的速率,空旷距离1km左右)</p> <p>      LORA应用,对于数据量小,使用环境复杂的情况使用还不错。对于智能家居这一块使用我个人觉得还不错,因为在家里面,几乎全是墙壁,如果用zigbee,</p> <p>      会涉及到非常多的路由,如果链路断掉,很定位问题点。对于这种环境,看好LORAWAN,顺带吐槽下,目前LORAWAN的开发设备套件太JB贵了!!!!</p> <p>      选择理由:距离远,未来主流</p> <p><strong>NRF24L01P(PA+LNA):</strong></p> <p>        这款搞这行电子的应该都知道了吧,现在很多无线通信设备、传感器都是用它做无线,甚至国内还有这款的SOC,这价格叫一便宜。所以可以挂载很多不同</p> <p>        厂家的传感器,知道对方的协议即可。</p> <p>        NRF24L01P,传输速率比LORA快N倍,但说【入网】这个流程那是ms级别。LORA那是 百ms级别,但是缺点就是无线绕射性能不怎么好,传输直线距离</p> <p>        还不错,但是曲线,有障碍物这种情况距离大大衰减。</p> <p>        选择理由:市场占有率高,便宜</p> <p><strong>W25Q64:</strong></p> <p>       这款华邦的SPI FLASH,只要用过SPI FLASH 的工程师应该第一款就用的这类吧。说下个人看法:</p> <p>       优点:便宜,好用</p> <p>       缺点:擦除时间太长了!!!!!</p> <p>       选择理由:便宜!好用!</p> <p><strong>W5500:</strong></p> <p>      对于以太网而言,要么跑协议栈,要么就用硬件,再要么上高逼格linux(自带)。我这里选取的是W5500,因为主办方要求用STM芯片,其次跑通协议栈很</p> <p>      简单,搞稳定协议栈不简单!!所以,为了项目进度、稳定所以选取了W5500。</p> <p>      芯片支持8个socket,1个用于通信,1个用于UDP(本地配置参数用,广播),1个DNS,预留1个TCP SERVER做网页。</p> <p>      目前使用中还是很稳定,用W5500官方的栈分分钟钟搞定,比较稳定。</p> <p>      <strong>提示:在我使用中发现socket刚连接上就发送数据,会返回成功,但是服务器并没收到数据。解决方法:链接上socket后,延时300ms(随便延时的)再发送。</strong></p> <p>      选择理由:开发简单,大大缩短了开发时间,成本也不会上升多少,芯片使用也很稳定。</p> <p><strong>ESP8622:</strong></p> <p>     出货量相当惊人的WIFI模块,所以必须得兼容,现在很多智能家居都是用的它采集控制的。不过同是在一个局域网,依然可以通过W5500控制那些WIFI设备。</p> <p>     暂时预留着,后续使用。不过有网线的地方还是建议用以太网,WIFI的稳定性受自身以及路由器的影响,会导致产品体验感不受控制,掉线了是设备问题还是</p> <p>     路由器问题呢?</p> <p>     选择理由:便宜!大众化!</p> <p> </p> <p><strong>RS232/485:</strong></p> <p>    古老且标准的通信方式,必须兼容。打印机、传感器啥的几乎都有这个东西,所以必须兼容。如果家里有一台传统的打印机,想要改造成互联网打印,所以这就</p> <p>    派上用场了,拨接协议,直接远程通信打印就搞定了!</p> <p>    硬件设计采用了全隔离方式(信号+电源),保证主控不会受影响。毕竟外接什么设备是unknow的。</p> <p>    选择理由:地球标准,兼容新旧设备</p> <p><strong>USB:</strong></p> <p>      采用USB HID方式进行通信,目前下位机已经完成,上位机还没写完.....。后续继续!</p> <p>      为什么采用HID方式? -->> 免驱!!!</p> <p>      打开上位机,插上设备即可完成通信多么好,虽然速率不高,但是满足配置以及读取信息足矣了!</p> <p>      如果虚拟串口,那么你打开的是串口几呢?还要去选择,很麻烦的。体验感太差劲了。</p> <p>      选择理由:仅需要一根USB Micro 数据线(大部分安卓手机标配)即可</p> <p><strong>TF:</strong></p> <p>     目前是预留了TF卡,是为了用做长期的大量历史数据存储。通信接口是SDIO方式,硬件已经完善,软件还没有调试。目前使用W25Q64来存储历史数据。</p> <p>     选择理由:地球标准大容量储存卡</p> <p> </p> <p><strong>RTC:</strong></p> <p>    RTC选取的是一款比较常用的型号PCF8563T,同时配上了一颗充电电池作为RTC备用电源。这颗芯片通信方式采用常用的IIC,很方便操作。</p> <p>    选择理由:便宜!操作简单!稳定!</p> <p> </p> <p><strong>网关功能介绍:</strong></p> <p>     1. 远程升级</p> <p>         原理:通过以太网/RS232/R485/LORA 按照指定格式把升级Bin文件发送给网关,目前实现的是通过以太网网络发送,</p> <p>                   每次发送256byte字节。因为软件是等Bin文件接收完了之后,再跳转到Bootloader进行升级,所以在此是存储在SPI FLASH上的。</p> <p>                   该SPI FLASH 单次写入最大数据是256byte,所以这样规定的。其次是因为数据采用json协议,如果数据量过大,会导致解析json开销过大。</p> <p>                   <strong>提示:发送bin文件,因为是16进制,所以我用了base64进行转码。</strong></p> <p>     2. 数据缓存</p> <p>          软件内部会有一个RAM的缓存池,根据芯片的RAM来决定,目前我用的这款我采用了最大50KB来作为缓存池,以便于网络不稳定,数据不会丢失。</p> <p>          如果数据存满了,网络依旧尚未畅通,则会按照指定格式存储在SPI FLASH 指定的区域,以便于网络通畅后把历史数据上传到服务器。</p> <p>     3. 无线通信</p> <p>         载无线通信模块:RA-01(LORA) + NRF24L01P+ESP8266,目前ESP8266预留接口,功能调试主要是针对于RA-01+NRF24L01P。</p> <p>         由于硬件原因,LORA的单包最大数据为128Byte,NRF24L01P最大数据为32Byte,这对于传输json数据太痛苦,但是传输modbus这种协议很难</p> <p>         解读。所以我采用的类似json的“序列化”+“反序列化”的方式进行编写,这样后期可无限制的添加协议,不会影响之前设备的协议。</p> <p>         同时在LORA和NRF24L01P上做了简单的拆组包协议,以便于发送更长的数据包。目前支持最高512Byte。</p> <p>     4. 兼容协议</p> <p>         无论是通过RS232/485、LORA、NRF24L01、ETH,所有的数据协议会分为两种,第一种JSON,第二种自定义协议。然后把数据放入指定的TASK解析,</p> <p>         例如要开个灯,从RS232发送,从ETH发送,从LROA发送都是一样的效果,而且执行的程序也是一样的,只是指令进出的管道不一样而已。这样方便于</p> <p>         管理通信协议,不会造成混乱。</p> <p>     5. 电量检测</p> <p>         1秒一次检测DCDC输入电压值,并记录发送到服务器,方便于核实供电情况。</p> <p>    </p> <p><strong>无线采集控制功能验证板介绍:</strong></p> <p>     这只是为了验证功能,所以采用了N合一的设计,实际应用应该不会用到这么多。</p> <p>     多合一内容:</p> <p>     SHT21 + DS18B20 + BH1750FVI + MQ-XXX + 2路继电器 + 1个UART扩展</p> <p>     无线通信:LORA/NRF24L01P,二选一。演示采用LORA,这个相对复杂点,NRF24L01P相对简单一点,暂时不做演示。</p> <p>     模块采用MOS管控制电源,不用则关闭,以降低功耗,主控采用STM8L151K4,最终最低功耗做到了2.5ua睡眠电流,RTC唤醒,视频有介绍哈。</p> <p> </p> <p><strong>六、作品演示</strong></p> <p> </p> <p>腾讯视频: <a href="https://v.qq.com/x/page/n0539xzjjbj.html" target="_blank">地址</a> </p> <p>(https://v.qq.com/x/page/n0539xzjjbj.html)</p> <p> </p> <p>着急忙忙的终于吧B端的采集展示做好了,来不及拍视频,就留个链接哈</p> <p>http://iots.f3322.net:10080/index.php/admin/login/index</p> <p>账号:user</p> <p>密码:1234567890</p> <p><img src="//image.lceda.cn/pullimage/QIeuHZAKSYrOYnpR0KS4hCzIaZbb12d58jHaRdhd.png" alt="" width="530" height="942"></p> <p><img src="//image.lceda.cn/pullimage/SeG3r9uzB0zXSNdhjljL4xj9R4Wg5ASSKTDG2skl.png" alt="" width="524" height="931"></p> <p><img src="//image.lceda.cn/pullimage/q16gVKu9wHfnes7N9miTGgoKxZhRGefrbfdia5pp.png" alt="" width="522" height="928"><img title="点击查看大图" src="//" alt=""></p> <p> </p> <p><strong>七、总结</strong></p> <p>     先说下整体的流程吧:</p> <p>     1. 网关设计,思考到底要做成什么样子,有什么功能。</p> <p>     2. 功能验证,通过设计的理念,去网上找是否有现成的零部件让我能组装成我想要的产品。</p> <p>     3. 网关电路设计</p> <p>     4. 服务器搭建</p> <p>     5. 网关程序编写+功能验证</p> <p>     6. 无线采集控制功能验证板电路设计,因为只是为了验证功能,所以没有去设计外观。</p> <p>     7. 无线采集控制功能验证板程序编写+功能验证</p> <p>     8. 系统联调</p> <p>     9. PC端软件编写</p> <p>     10. 帖子编写</p> <p>     由于时间关系,只做了PC端演示程序,但是协议都是零活的,后续会完善B端展示。无论是http,ws,socket,有效数据里面的数据协议均是一样,</p> <p>这样就让整套系统更加容易管理。</p> <p>    服务器用的linux + php + workerman + mosquito + mysql + nginx搭建。支持长连接,高并发!针对于嵌入式物联网设备。</p> <p>    服务器目前完成了:用户登陆+数据解析+数据存储+远程升级 + 远程控制等,后续继续完善B端,这样就方便于手机操控,同时绑定在微信里面就更易用了。</p> <p> </p> <p>    提醒下:买物料一定要仔细!!!我这就买错了一个物料,继电器我设计的是5V供电,买成了12V,后面写程序的时候才发现,然后在一个开发板上卸</p> <p>了两个下来。上面的图片继电器是12V,那是焊接好拍摄的。视频里面是5V,那是后面写程序的时候修改过了。</p> <p>    </p> <p>这里感谢立创商城提供的这个机会--></p> <p>int main(void){</p> <p>    for(;;){</p> <p>        printf("3Q!\r\n");</p> <p>    }</p> <p>}</p> <p>由于时间关系,没有做得那么精致完美完善,希望做这个产品的目的大家能理解,有什么更好的建议意见可以回帖一起讨论。谢谢!</p> <p>/*</p> <p>    更新日志</p> <p>*/</p> <p>2017-06-25 - 2017-07-01 搭建云服务器</p> <ul> <li> </li> <li>操作系统:Linux</li> <li>云服务器程序语言:PHP5</li> <li>MQTT代理:mosquitto</li> <li>MQTT版本:V3.1.1</li> <li>数据库:MQSQL</li> <li>暂无WEB操作界面</li> </ul> <p>2017-07-01 - 2017-07-05 网关的原理图设计以及PCB绘制</p> <p> </p> <ul> <li>主控    :STM32F2xx</li> <li>存储    :SPI FLASH & SD CARD</li> <li>以太网 :W5500</li> <li>LORA   : SX127x</li> <li>WIFI   :ESP8266-XX</li> <li>2.4G    : NRF24L01P+</li> <li>隔离RS485/232 (采用同一路串口)</li> </ul> <p>2017-07-21</p> <p> </p> <ul> <li>完成网关的外设驱动</li> <li>NRF24L01,SX1278通信正常,频道速率等切换正常</li> <li>与采集器协议添加完毕</li> </ul> <p>下一步:打样采集器+制作,目前看来时间要紧,所以采集器为功能验证板,没法做成产品的样子了。</p> <p>            完成网关的外壳修改,让其成为一个像样的的产品。</p> <p>2017-08-19</p> <p>完结</p> <p> </p> <h3><strong>更多项目详情见链接:http://club.szlcsc.com/article/details_6695_1.html </strong></h3> <h3><strong>本项目归立创社区“求生之路”所有</strong></h3>

文档

BOM

暂无

附件

暂无

评论(0)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow