侵权投诉
订阅
纠错
加入自媒体

传感器/采集模块/云端通信 物联网开发中的那些“坑”

2016-08-16 12:08
姚看江湖
关注

  虽然大学开设了物联网专业课,最近也有一批物联网专业的学生毕业了,但是真正学好、做好物联网开发,却不是一件容易的事。从程序开发的角度上来说,既要熟悉嵌入式,也要熟悉桌面或Web平台开,同时还要懂手机程序开发。另外,在智能硬件开发比较深入的当下,熟悉智能硬件,能设计智能硬件,连接各种传感器也是必须具备的技能。只有掌握这些技能,才能有比较完整的物联网开发视角,才可能开发出相对实用的物联网系统。

  本文先简述笔者的嵌入式开发经历,然后结合最近新开发的一个实验性质的养鸡物联网项目,总结在物联网开发过程中所遇到的那些意想不到的“坑”。

  从PLC开发到鸡舍物联网

  如果从上大学开始写Basic程序算起,笔者从事软件开发已经20多年了。但是接触所谓的嵌入式硬件是2001年进行PLC的开发,当时主要是实现通信功能,没有采用梯形图语言进行开发,而是采用的类似汇编语言的语句表。接着是在2003年开始接触WinCE触摸屏开发,采用C#和EVC进行嵌入式组态开发。后续在2005年左右开始做隧道广告的通信系统,初始采用的是基于DOS系统X86嵌入板,用BC3.1进行开发。另外在焦炉四大机车系统开发中,AB的PLC需要通过一个第三方模块获取机车轨道坐标信息,里面的系统是TinyDOS,也是采用BC3.1进行开发。以上所说,谈不上真正的嵌入式开发,更谈不上硬件开发,最多算是嵌入式应用开发。

  2008年在微软.NET Micro Framework项目组,对TI DM355芯片进行.NET Micro Framework系统进行移植的时候,笔者主要负责I2C、UART和USB的驱动开发,采用Insight3进行代码编写,采用MDK和RVDS工具进行编译和调试。

  在2010年初的时候,利用业余时间率先把.NET Micro Framework系统移植到Cortex-M3架构的芯片上(STM32),并且所有的驱动代码从零写起,全是基于寄存器操作层面进行编写。至此,笔者才觉得真正理解嵌入式系统,才算是迈进嵌入式或智能硬件开发的殿堂。

  从那之后,开始设计物联网产品,并且也可以绘制简单的PCB板。物联网智能网关、物联网智能终端、物联网智能I/O模块和物联网采集模块陆陆续续被设计出来。年前实施的养鸡物联网监控是笔者,软硬件亲自设计、开发,并且到现场安装和调试的首个项目。下面先简单介绍一下该项目。

  本系统采用五层架构:传感器/智能设备→采集器/智能终端→智能网关→云中间件/Web后台→网页/微信。

  鸡舍一般需要监控的参数,包括光照、温度、湿度、二氧化碳、氨气、氧气等,此外还要每天监测鸡的重量、水的用量及电的用量等。下面是相关的传感器列表:

  序号传感器名称接口说明

  1、光照传感器I2C监测鸡舍光线明暗

  2、温湿度传感器I2C监测鸡舍温度和湿度

  3、温度传感器单总线监测鸡舍前中后及室外温度

  4、二氧化碳传感器串口监测鸡舍二氧化碳的含量

  5、氨气传感器模拟量监测鸡舍氨气的含量

  6、氧气传感器模拟量监测鸡舍氧气的含量

  7、称重传感器脉冲计数监测鸡成长周期内的重量变化

  8、水表RS485JC/T188协议,监测水的用量

  9、电表RS485Modbus协议,监测电的用量

  10、互感器线圈开关量输入监测风机启停

  11、空气压力传感器模拟量4~20mA,检测鸡舍内负压

  为了便于连接各种传感器,笔者开发设计出了物联网采集模块(如图1),该模块具有1路RS485接口、4路模拟量接口、4路串口、4路I2C接口和1路SPI接口。由于目前Cortex-M3芯片支持GPIO复用功能,所以一些类似单总线功能都可以支持。

图1 连接各种传感器的物联网采集模块

1  2  3  4  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号