案例八:MQTT方式上传数据至machtalk-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8109|回复: 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,消息没有成功发送出去,我该如何分析原因?

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:39 , Processed in 0.088953 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表