本贴无源码,只是讲讲实现过程,只有图片和视频
实现分别可以用 隔空手势控制、定时控制,温度控制,亮度控制,本地与远程手机控制8个继电器,图片没装继电器底板,只接一个LED演示。带锁定屏幕功能防止误操作。
电路构成为STM32F407VGT6+PAJ7620+LM75A+ESP-12F。
图片和视频。
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
这里总结一下:
实现网络转发数据,又不用自已搭服务器,主要是公网IP的问题,大家都建议用阿里云。
第一,使用阿里云,手机把数据发到服务器,服务器就把数据转发到STM32设备上的,不需要设备主动去获得数据。
这里首先想到的是用ESP8266,AT指令去发,配个MQTT,一步一步传数据,要知道,它是异步方式工作的,不能发一条,就死等返回。。
还要不要发心跳包呀?想想怎么处理这个过程都头大。
但是看见有大神是这么干的,我也跟着去做,结果就卡在连接服务器出现DNS FIAL上。。折腾一阵子没有结果。
最后搜到使用阿里云SDK的贴子,我说真的就一句话就够了,填上阿里云的三元组,你的路由器名称的密码。。。。55555,烧写进去,它就把所有你想起来都头大的事完成了。
它就这样简单的,一行代码都不用写,就连上阿里云了。在线调试收发都正常了。
事实上,心跳包这事,SDK里也干了,只不过阿里云称为设备存活期,意思是说多长时间内没有收到设备信息,就判断为断线。。最长可以设置为20分钟一次。
之前担心经常发包会超过100万条数据的事,不会发生的。
然后就手机APP,源码,就下面连接那几行了,跟设备一样,填个三元组完事。。。就是这么简单直接。
https://yq.aliyun.com/articles/669959
就这样,手机和设备都连上了阿里云,然后你会发现,除了你发的那一点点数据,怎么多了那么多的其它信息,怎么处理,你可能会想到JSON这东西,然而,阿里云给了你更多的功能,SQL设置一下,转发你只需要的数据,之前想想都觉得麻烦的东西也没有了。你只要关心你发的那几个字节怎么处理就行了。
总之,各位给我推荐的阿里云确实非常稳定,完善,做物联网的首选。