ESP8266(wifi芯片)与微信小程序
在物联网终端产品中,esp8266 wifi设备是怎么和小程序通信的呢? 对于这一类产品,厂家都有一个后台服务器,esp8266工作在STA模式, 连接wifi热点后,即可具备联网功能,和服务器通信,数据上报,之后小程序或者APP,从服务器中获取数据。如下图:
接着,小程序端控制设备,数据方向如下图:
那么问题来了,如果我们不需要服务器,esp8266能不能与小程序直接通信呢? 答案是肯定的。
方案很简单,只要esp8266,手机都连接着同一个路由器wifi,或者手机发起wifi热点,esp8266连接这个热点;如此他们二者都处于同一个局域网内。当处于同一个局域网后,他们就可以通过TCP/UDP方式通信。
那么又有一个问题了,TCP/UDP通信,是需要知道对方的ip,port端口号的。esp8266芯片如何知道小程序的ip和port号呢? 小程序又如何知道esp8266芯片的ip和port号呢 ?
方案也很简单。mDNS:即组播DNS(multicast DNS),主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信。(--百度百科)
让esp8266 注册mDNS服务, 微信小程序是有搜索局域网下 mDNS 的相关API。如此,小程序便知道esp8266的ip、port;这个时候小程序给esp8266发一下打招呼的信息,esp8266便可知道小程序的ip、port了。
双方都知道对方的ip、port,接下来数据互相收发,不成问题。笔者自己做了一个小demo。
刚刚打开的时候,小程序还没有和esp8266连接,所以显示设备是offline,这个时候,小程序下拉一下,开启搜索mDNS服务,便可找到esp8266,如下图: 返回的数据有esp8266的ip和port,小程序同时往这个ip,port发送打招呼信息,esp8266接收到信息,找到小程序的ip,port,最后设备不停的往小程序上报数据。
温湿度的数据是假的,不过确实是esp8266发过来的随机数据。on,off 是实时控制led灯的,小程序中灯泡是实时显示led 的状态的,我拍了15秒的演示显示,大家可以去我的微头条看看。
用智能手机控制单片机,UI开发怎么做?
百分之九十以上的智能硬件都需要通过手机来操作,大都需要在手机上安装APP。除了用短信方式控制之外,其他的操作界面都用专门的开发工具来编程实现,这些工具都有哪些呢?今天蚁哥给大家推荐几个免费的开发工具。
1Eclipse
这个工具程序员最为熟悉不过了,它支持很多种语言编程。要使用它来编写APP,需要下载专门的SDK,安装过程也许会让新手经历一番波折。不过网上可以找到打包好的程序:ADT-Bundle,直接解压缩就可以使用了。
EClipse开发环境
2Android Studio
谷歌自家出的官方安卓软件集成开发工具 Android Studio,宣称“会让开发者更快、更具生产力”。它完全免费,跨平台支持 Win / Mac / Linux。它的界面和EClipse几乎一样,不过支持实时渲染。有能力的程序员朋友不妨试一试这个工具。
3APP INVENTER
这个工具很有意思,它是谷歌和MIT一起研发的图形化的编程工具。因为你不需要再编写代码了,只要拖拖拽拽就能够做出自己的APP了。不过用这个工具做出来的UI大多数是中规中矩,想要做出特别炫的效果来,还需要下点苦工啦。
App Inventor
4Html5
Html大家都不陌生,Html5是最新的版本,它具有新的元素,属性和行为,具有更大的技术集,允许更多样化和强大的网站和应用程序。通过H5可以直接用JS语言编写页面。通过WebSocket技术,H5可以跟服务器进行通信,进而控制带有WIFI功能的单片机。这就让我们可以不用安装APP,通过网页直接对单片机进行控制。不过手机上的浏览器必须支持Html5才行。
5微信小程序
最近火的不得了的微信小程序,也可以通过调用蓝牙接口或者通过WebSocket实现对单片机的控制,大家可以直接搜索微信开发者的官网,下载专门的开发工具,教程也比较齐全。
微信Web开发工具
希望我的分享对大家有所帮助,欢迎大家多评论,多交流!
相关问答
单片机 怎么跟电脑实现无线传输数据-ZOL问答如果买不到,也可以自己做,但这就需要较高的电路水平才可以做到,涉及到调制解调,无线电的发射和接收电路,发射频率的选择,再加上单片机和电脑的通信程序编写,一个...
单片机 与普通微型计算机有什么不同?[回答]在应用上不同:单片机主要应用于自动化办公、机电一体化、航空航天、汽车电子设备、医疗器械、商业营销设备、计算机通信、家用电器、日常生活和实时...
肿么通过Usb插口给51 单片机 供电-ZOL问答1、单片机有5V和3.3V的,你用的那个型号的,初学者可选用宏晶的STC系类51单片机,价格便宜,还不用买专用编程器。2、液晶是什么型号的,也分5V和3.3V供电的?3...
什么叫 单片机 ? 单片机 与一般微型计算机相較,具有哪些特点?-ZO...而单片机就是把中央处理器,存储器,及输入输出端口等全部放置在一个芯片里,只要再配置几个小器件,如电阻。电容。石英晶体。连接器等即成完整的微型计算机...
51 单片机 是直接ROM运行程序,对不对? 像手机一样有操作系统的...51单片机的RAM很小只有几百字节,不能装入很多代码,单片机一般是从ROM中运行代码的,51单片机也可以弄uCos操作系统,不过我觉得没什么必要。你说的运行速度区别在...
51 单片机 共用一个IO口去驱动锋呜器及风扇,C程序肿么写。-ZOL问答微信客户服务电话95188人工时间?2浏览3回答苹果怎么打开apk苹果怎么打开apk2浏览6回答比亚迪最大股东是哪个国家的2浏览5回答wps怎么设置文字行间...
单片机 烧程序的时候老是提示 仍在连接中, 请给 MCU 上电... ...可能单片机烧了,换一块试试有用(0)回复STC吗?这个要冷启动才行有用(0)回...我的微信群被人举报了,肿么可以查到是谁举报的?1.6万浏览8回答樱花漫画官...
51 单片机 运行需要多少伏电源-ZOL问答有3种,5V,3.3V,1.8V其中5V和3.3V单片机较常用,不能通用,如果你部明确你手上的单片机是几伏的,可以下载芯片资料,写的很清楚有用(0)回复wangxinzhe因单片机...
请问:怎么估算 单片机 的功耗?-ZOL问答另外单片机上还可做些功耗控制,平均功耗可大大下降。有用(0)回复12aa369874...我的微信群被人举报了,肿么可以查到是谁举报的?3回答用拼音输入法肿么能打...
让矩阵键盘发出提示音 只要 单片机 在有按钮按下后通过中断让...用中断来驱动蜂鸣器发出提示音浪费单片机资源。/**按键提示音子函数*/voi...我的微信群被人举报了,肿么可以查到是谁举报的?3回答用拼音输入法肿么能打...