学习知识就是为了应用,我们学习了嵌入式硬件和软件、具备一定的基础之后,是不是很想找一些简单的项目练练手?如果你有这种非常强烈的感觉的话,我相信你已经具备一定的嵌入式开发技术基础了。
接下来,你可能要犯愁了:我要去做什么样的项目呢?不管您是出于爱好感兴趣的需要,还是个人职业规划发展的需要,您都要想好一个方向,因为我们都想我们后续要做的项目具有连续性、技术关联度高、技术深度越来越深,朝着一个技术专家的方向发展。如果你也这么认为,你应该继续往下看。
我们要成为一个技术专家,那我们要进行的项目开发所属的领域或行业应该具有不断发展的属性、也与社会发展方向一致、满足国家的政策要求、与国家后续发展战略高度一致,我们应该选择这样行业或领域的项目进行练手或者深耕。我认为物联网具备上述的所有属性。
所以,我认为嵌入式开发者发展方向或职业规划方向应该选择物联网相关的领域或行业。因为在这个行业里,我们所学嵌入式专业技能有了广阔的应用天地,所谓天高任我飞。
言归正传,我们具备一定嵌入式开发基础之后,我们要做什么样的的物联网项目呢?那首先我需要简单了解一下物联网项目的开发流程和物联过程,要了解一个开发流程和物联过程,一定要基于一个具体的应用场景,这样才具体,才具有指导意义。只有了解了开发流程和物联过程,您才能基于您现有的技术水平和项目开发难度,去选择合适自己的物联网项目。
我们的应用场景很简单,就在我们身边。应用场景概述:将家里的温度、湿度的采集WIFI终端与手机、路由器、PC机进行物联,实现各个终端对WIFI终端的通信。STM32对温湿度的采集终端的软硬件实现方式很多,具体实现细节不难,也不属于在这里的讨论范畴。在这里,我们只对项目开发流程和物联过程进行讨论,不会深入开发细节中去,先让我们对物料网开发有个整体清晰的认识。
WIFI模块:ESP8266模块。
对于这个项目,我是按照下面这个流程进行的:
1.我们首先要选择通过什么网进行物联:是局域网还是互联网?这个项目需求来定。对于这个项目,可以是局域网也可以是互联网。两者在实现方式、实现难度、物联过程是有很大差别的。
2.局域网物联
局域网物联并不是完全意义上的物联网,对于这个项目来说,采用家庭网这个局域网物联后,我们在家里通过手机、电脑、路由器与WIFI终端进行通信和数据的监视。
需要具备如下条件:
专门的串口助手软件(可发送AT指令)、WIFI模块已下载与串口的透传程序、无线路由器处于正常运行状态、无线路由器名称由字母和数字组成、无线路由器设有连接密码、无线路由器需要支持2.4G无线频段、开发板尽量靠近无线路由器、PC机具有WIFI功能。
WIFI模块有三种工作模式:AP模式(类似于路由器)、STATION模式(连接路由器的终端设备)、AP+STATION混合模式(即可以作为终端设备,也可以作为路由器)
按照WIFI模块的AT指令定义通过串口助手进行测试。
1)WIFI模块作为终端设备与路由器进行通信
测试之前,需要先复位WIFI模块。然后按照如下顺序发送AT指令:
(1)发送AT+CW MODE=1,设置WIFI模块的工作模式
在这WIFI模块作为终端设备,需要设置为STATION模式,发送AT+CW MODE=1。设置完成后进行复位。
(2)发送AT+CWLAP,搜索可用的WIFI热点
发送AT+CWLAP,功能是列出可用的WIFI热点。可以看到路由器的账号密码已经显示出来了。
(3)发送AT+CWJAP_DEF=热点名称和密码
发送之后,如果连接成功,WIFI模块会回复:WIFI CONNECTED
WIFI GOT IP
2)WIFI模块作为终端设备通过路由器与PC端服务器进行通信(以PC为服务器的TCP连接)
如下步骤应在上述1)的基础上进行。
(1)建立并启用PC端服务器;
TCP&UDP测试工具软件建立和启用PC端服务器。
(2)在串口助手软件上采用AT指令连接PC服务器。
连接成功后,可进行通信测试。
(3)通信测试
–PC服务器通过 TCP&UDP测试工具软件给WIFI模块发送数据。
–WFI模块通过串口助手采用AT指令向PC服务器发送数据。
(4)WIFI模块断开与PC服务器、路由器的连接。
WFI模块通过串口助手发送AT指令可断开与PC服务器和路由器的连接。
具体发送过程及AT指令在这里不再详述。
3)WIFI模块作为服务器与PC机终端进行TCP通信
WIFI模块工作在AP+STATION混合模式,PC机工作在STATION模式。
(1)通过串口助手采用AT指令设置WIFI模块为AP+STATION混合工作模式。
(2)AT指令复位WIFI模块。使得模式更改生效,并自动连接到路由器。
(3)AT指令设置WIFI模块的热点名称和密码。
(4)AT指令设置为多连接模式,方便PC机等多个终端设备连接到WIFI模块。
(5)AT指令开启服务器并设置端口号。
(6)插询WIFI模块IP地址。
存在APIP地址和STAIP地址。WIFI模块作为服务器时,使用的是APIP地址。作为终端设备时使用的是STAIP地址。IP地址可修改。
(7)在PC机搜索WIFI模块的热点名称,并输入密码完成连接。
(8)使用TCP&UDP测试工具,设置相关参数,创建与WIFI模块的连接。连接成功后,就可向WIFI模块发送数据。串口助手查询接收到的数据内容。
(9)WIFI模块通过串口助手采用AT指令向PC机发送数据。数据发送成功后可在TCP&UDP测试工具中查询是否接收到数据。
4)WIFI模块作为服务器与手机终端进行TCP通信
WIFI模块与手机连接方式基本一样,即可以通过路由器连接到手机(WIFI模块作为终端设备),WIFI模块也可以服务器热点与手机进行连接。
手机端需要下载功能类似于TCP&UDP测试工具的APP。
然后在3)的基础上,按照相似的步骤即可实现WIFI模块与手机的通信。
3.互联网物联
由交换机、无线路由器、电脑组成的局域网中,我们只需要在通信的电脑上创建服务器,WIFI模块只需要接入同一局域网中的无线路由器,就能通过IP地址和端口号来创建连接。
如果我们的电脑在互联网中也具有一个固定的IP地址,通过在该电脑上创建服务器,WIFI模块就可以稳定的连接互联网了。但是我们的电脑都是通过网络运营商接入互联网的,只能获取动态的IP地址,WIFI模块无法直接通过电脑获得稳定的连接。
所以,WIFI模块需要通过云端服务器来获得与互联网稳定的连接,有2种获取云端服务器的方法:自建或租用服务器、利用现有物联网平台(免费或付费)。
自建或租用服务器成本高,开发难度大。一般都采用第三方物联网开发平台,例如阿里云物联网开发平台。
云平台连接到互联网,云平台可以是第三方的云平台,也可以是自主开发的云平台。第三方云平台目前主要有:阿里云、腾讯云、华为云、百度云、中移云、机智云等,推荐采用阿里云平台(开发资料全、市场份额大)。在这里只介绍在阿里云平台上的实现步骤,相关具体实现过程请参见相关的教程,网上很多。
(1)阿里云平台申请账号。可用淘宝或支付宝账号登录。
(2)云平台上创建产品和设备。
(3)安装MQTT.fx软件。
(4)用软件代替WIFI模块与云平台进行数据收发,测试云平台上创建的设备功能是否正常。
以下截图为我在洋桃电子资料上所见的物联网平台远程控制示意图。
本文章来源于互联网,如有侵权,请联系删除!原文地址:对嵌入式开发方向的一些思考:在物联网方向
我们的合作伙伴,Mariner(一家数字化战略咨询公司),在最近的一篇博客文章中,描述了一种高层体系结构,该结构用于为其制造商和分销商客户提供物联网解决方案。通过这个结构,我们首先使用Microsoft Azure(企业级云计算平台)技术套件收集、…