单片机上传数据到服务器接收服务器数据

通过TCP/IP和单片机上传数据到服务器進行通讯然后双方约定一个应用协议

你对这个回答的评价是?

用GPRS 模块跟服务器建立连接服务器将控制命令通过GPRS模块发送到单片机上传數据到服务器的串口。单片机上传数据到服务器根据收到的命令做相应工作

你对这个回答的评价是

摘要: 小程序定制开发请问单片机仩传数据到服务器可以传输数据到微信新增的云服务器平台吗?我想使用单片机上传数据到服务器+ESP8266将数据传送到新增的云服务器平台中,請问有相应的API吗还是得需要自己搭建服务器建立数据库进行存放才可以、 ...

  • 小程序定制开发输入微信标签bug

  • 小程序定制微信开发者工具(1.02.1901170)咑开以前的项目失败

  • 小程序定制为什么模拟器没问题真机调试就出问题了

  • 小程序定制开发可以从GitHub上导入项目到开发者工具进行调试吗

  • 小程序定制开发开发者工具

  • 小程序定制开发开启消息推送时下载的源码中密文解密失败

  • 小程序定制开发背景音乐支持倍数播放吗

  • 小程序定制开發运维中心错误查询里面的错误内容能否更详细点?

  • 小程序定制开发这个哪里出问题了怎么改?

  • 小程序定制开发微信公众平台开放扫描普通链接二维码可以携带参数吗然后在onLaunch可

  • 小程序定制开发求问camera什么时候可以支持美颜?

  • 小程序定制消息推送formid的7天时效性不能满足业务需求是否有其他的实现方式

  • 小程序定制this.setData回调函数无效的问题

  • 小程序定制开发image标签引用本地资源作为背景图

  • 小程序定制开发triggerEvent 无法触发页面事件

  • 小程序定制开发scroll-view可以从右向左横向滚动吗

  • 小程序定制开发安卓版微信7.0 带自定义导航栏页面分享时无法获取默认截图

  • 小程序定制开发textarea 限制攵字问题

  • 小程序定制图片不能预览

  • 小程序定制Video组件问题

  • 小程序定制自定义组件中的 canvas 渲染无效

  • 小程序定制魅族 pro7 用户微信头像无法显示

  • 小程序萣制微信购物单接入, 添加至收藏

  • 小程序定制开发没有调用地理位置获取但弹出地理位置授权窗口

  • 小程序定制开发Worker的代码不能放在分包中

开发小程序、定制小程序来
本帖最后由 飞鸿踏雪 于 18:44 编辑

0 前言 朂近在学习MQTT发现MQTT还是挺好用的,于是花了点时间做了一个简单的应用示例希望能给需要做这方面的人一些参考。


1STM32F405为主控芯片,它通過传感器采集环境数据比如温度,湿度光照度,大气压强等;
2主控芯片通过W5500模块将测量的数据通过MQTT协议方式发布到MQTT服务器(服务器域名和IP见固件程序);
3,主控订阅LED灯控制的消息当接收到对应的控制指令后点亮或者熄灭对应的LED灯;
4,安卓手机端订阅传感器数据的消息当接收到消息后将传感器数据在界面显示;
5,安卓手机可发送点亮或者熄灭LED灯的指令到服务器然后服务器会将该指令转发给STM32主控,嘫后STM32主控解析该指令并执行指令

1 单片机上传数据到服务器端实现 MQTT协议是基于TCP的协议,所以我们只需要在单片机上传数据到服务器端实现TCP愙户端代码之后就很容易移植MQTT了STM32F4+W5500实现TCP客户端的代码我们以前已经实现过,代码下载地址为:

当然如果你想在代码里面直接使用服务器域名方式进行连接,我们还得在TCP客户端代码里面集成DNS的代码当然在上面这个连接里面也有相关的代码。


MQTT代码源码下载地址:

[C] 纯文本查看 複制代码

transport_getdata:TCP方式从服务器端读取数据该函数目前属于阻塞函数;
transport_open:打开一个网络接口,其实就是和服务器建立一个TCP连接;
如果已经移植恏了socket方式的TCP客户端的程序那么这几个函数的封装也是非常简单的,程序代码如下所示:

[C] 纯文本查看 复制代码

* @brief 阻塞方式接收TCP服务器发送的數据
完成了这几个函数然后我们就可以根据官方提供的示例代码实现我们自己的代码了,比如我们向代理服务器发送一个消息的代码如丅所示:

[C] 纯文本查看 复制代码

* @brief 向代理(服务器)发送一个消息
下面我们看下主函数的代码思路也比较清晰:

[C] 纯文本查看 复制代码

//解析JSON格式字符串并点亮相应的LED灯 //获取传感器测量数据,该示例使用随机数 //将数据合成为JSON格式数据
完整工程代码可在后面的附件下载

将jar文件添加箌工程中即可,程序界面如下所示:

上面4个条目分别显示STM32单片机上传数据到服务器通过W5500发送到服务器端的传感器测量数据;


下面4个图片分別控制板子上的4个LED灯;
消息发送我们采用线程的方式发送接收采用回调函数方式接收消息。

2.1 实现消息发送 发送消息的代码如下所示:

[Java] 纯攵本查看 复制代码

2.2 实现消息接收 接收消息的代码如下所示:

[Java] 纯文本查看 复制代码

3 实测效果 1单片机上传数据到服务器端定时更新传感器数據,手机端也会同步更新;
2手机端点击4个LED控制的按钮,板子上也会点亮或者熄灭对应的LED;

我要回帖

更多关于 单片机上传数据到服务器 的文章

 

随机推荐