查看: 6545|回复: 1

案例八:MQTT方式上传数据至machtalk

[复制链接]

该用户从未签到

发表于 2014-8-29 10:36 | 显示全部楼层 |阅读模式
本帖最后由 weijinhe 于 2014-10-15 12:46 编辑

服务器启动后,主动订阅一个公共主题,名字可以是/machtalk/commontopic,当设备需要上传数据时,publish一个消息到该主题,消息内容可以是{"APIKey":"7f3802bd3e474757bfba1f6ab20a8fbf","device_id":"861001002720064","device_value_id":"1","device_type_id":"3",”value”:XX}服务端收到该消息后,分析该设备的相关信息是否合法,合法的话就调用入库的代码。

1、硬件准备(1)Arduino uno (2)模拟声音传感器模块(3)Arduino Ethernet W5100 网络扩展板模块(4)网线一根
2、硬件连接(1)Arduino Ethernet W5100 网络扩展板模块与Arduino uno连接。(2)Arduino Ethernet W5100 网络扩展板模块插上网线(3)模拟声音传感VC GND out 分别与Arduino uno 5V GND A(0)连接     
3、烧写代码[mw_shl_code=c,true]
#include <SPI.h>
#include <Ethernet.h>
#include <PubSubClient.h>

byte mac[]    = {  0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
byte server[] = { 60, 211, 253, 162 };  //machtalk平台服务器
byte ip[]     = { 192, 168, 0, 100 };

void callback(char* topic, byte* payload, unsigned int length) {
  // handle message arrived
}

EthernetClient ethClient;
PubSubClient client(server, 1883, callback, ethClient);
char json[100];
void setup()
{
  //连接网络
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    Ethernet.begin(mac, ip);
  }  
}
void loop()
{
  client.loop();
  if (client.connect("arduinoClient")) {
    Serial.println("connected");
  }
   int value=analogRead(A0);
   Serial.println(value);
//device_id、device_value_id、devce_type_id替换为自己ID  sprintf(json,"{\"device_id\":\"4fa0ee5291f4402e8fc98e4d72e17ce0\",\"device_value_id\":\"1\",\"device_type_id\":\"1\",\"value\":%d}",value);
   client.publish("/machtalk/commontopic",json);
   Serial.println(json);
   delay(1000);
}
[/mw_shl_code]
4Machtalk物联网平台配置    Machtalk物联网平台配置、动作设置、触发器设置如http://machtalk.net/intro/regist所示,不再累述。
www.mactalk.net技术交流群:300250166



w5100.jpg
声音传感器.jpg

该用户从未签到

发表于 2018-1-9 13:38 | 显示全部楼层
你好, 我在使用client.publish的时候返回值是0,消息没有成功发送出去,我该如何分析原因?

谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

5分钟带你快速了解新一代开发板:M5STACK
5分钟带你快速了解新一代
一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
创客火首发无人机编队套装,开启不一样的人工智能教育
创客火首发无人机编队套装
2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
为开发板 Generic ESP8266 Module 编译时出错
为开发板 Generic ESP8266
第一次尝试Arduino UNO软串口通信,编译一直通不过,错误信息 “开发板 generic (平
请问L298N能不能驱动这种电机呀
请问L298N能不能驱动这种
小白不太敢确定orzz电机是30W,10转,12V的直流减速电机 谢谢大家了!
ws2812灯带求助,求大佬。。
ws2812灯带求助,求大佬。
刚才那个求助帖我说的可能有点模糊,所以我这次弄详细一点。小弟第一次接触这个灯带,
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表