首先,大家关注我的个人微信公众号 ”物联网连接器“
全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第1张图片 
然后,根据公众号的指引,先发送注册指令完成注册: "reg 英文帐号名 6位以上密码"
然后在微信上测试一下set 和 get命令。
set 命令是向数据库设置一对key value值,比如说输入 "set light on"。那么数据库里就有了light变量,值为on.
get 命令是读取数据库的值,假如之前输入过"set light on",那么输入"get light"的话,微信会返回"on"

通过 set 和 get 命令,理论上我们可以顺利的完成状态上传读取,反控等一切操作。

物联网设备那边的连接过程和命令格式如下: 
1、连接我服务器的9000号端口。 url: iotbomb.com port: 9000
2、向服务器send命令 "帐号名 密码\r\n set light on\r\n",就设置了数据库的light 变量为on。\r\n是命令分隔符,每个命令都是有两对\r\n的。
3、向服务器send命令"帐号名  密码\r\n get light\r\n",就能读取到数据库的light变量。


优点:
1、命令极度简便,没有http的各种复杂解析,适合物联网设备。
2、全平台,不需要库,只要能联网的设备都能接入。3、极度灵活,以数据库的get set 操作来做数据中转,理论上能把实现任何设备的互联逻辑。

python 样例:
假设我有帐号为iotbomb 密码为111111

 

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(("iotbomb.com", 9000))

s.send("iotbomb 111111\r\nset light on\r\n");

print s.recv(1024)


执行一下,结果是
全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第2张图片 

get 样例:
全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第3张图片 


telnet 样例:
全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第4张图片 


淘宝上买的esp8266-12F型板,使用nodemcu固件, 连接物联网连接器,然后用微信控制亮灯的样例。代码如下:

 

user_name = "iotbomb"  -- 在微信上注册的名字user_password = "111111"  --·在微信上注册的密码

server_url = "iotbomb.com"  --url,不用改

wifi_name = "LG-D857"  -- 你的wifi热点名字

wifi_password = "11111111"  --你的wif热点i密码

 

function do_iotbomb_cmd(name,password,cmd, cb_func)

            conn=net.createConnection(net.TCP, 0)

            conn:on("receive", function(conn, msg)

            cb_func(msg)

            conn:close()

            conn=nil

        end)

        conn:on("connection", function(sck, c)

            print("send cmd to iotbomb. \nusername: "..name.."\npassword: "..password.."\ncmd: "NaNd)

            conn:send(name.." "..password.."\r\n"NaNd.."\r\n")

            tmr.delay(2000000)

        end)

        conn:connect(9000, "iotbomb.com")

end

 

function loop()

    tmr.alarm(1, 5000, 1, function()

        do_iotbomb_cmd(user_name,user_password,"get light", function(msg)

            print("get cmd return: "..msg)

            if(msg == "off") then

                gpio.write(0, gpio.HIGH)

            elseif(msg == "on") then

                gpio.write(0, gpio.LOW)

            end

         end)

    end)

end

 

wifi.setmode(wifi.STATION)

wifi.sta.config(wifi_name,wifi_password)

wifi.sta.connect()

tmr.alarm(1, 1000, 1, function()

     if wifi.sta.getip() == nil then

         print("Wifi Connecting...")

     else

         tmr.stop(1)

         print("Wifi Connected, IP is "..wifi.sta.getip())

         loop()

     end

end)



nodemcu + esp8266 结果截图:
全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第5张图片 



淘宝上买的esp8266-12F型板,使用arduion IDE,连接互联网连接器,用微信控制灯的样例:(帖子的6楼补充了使用配置方法)

#include

char * ssid     = "LG-D857"// 你的热点名字

char * password = "11111111"// 你的热点密码

String iotbombName = "iotbomb"; // 物联网连接器的帐号

String iotbombPassword = "111111"//物联网连接器的密码

String iotbombCmd = "get light"; // 要执行的命令

 

char * host = "iotbomb.com"// 服务器的url,不用变

int httpPort = 9000// 服务器的端口,不用变

 

void setup() {

  Serial.begin(115200);

  delay(10);

 

  Serial.println();

  Serial.print("Connecting to ");

  Serial.println(ssid);

  WiFi.begin(ssid, password)// 这里连接wifi

   

  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

 

  Serial.println("");

  Serial.println("WiFi connected")

  Serial.println("IP address: ");

  Serial.println(WiFi.localIP());

  pinMode(LED_BUILTIN, OUTPUT)

}

 

void loop() {

  delay(5000);

  Serial.print("connecting to ");

  Serial.println(host);

   

  WiFiClient client;

  if (!client.connect(host, httpPort)) {   // 这里连接服务器

    Serial.println("connection failed");

    return;

  }

   

  String cmd = iotbombName + " " + iotbombPassword  + "\r\n" + iotbombCmd + "\r\n";

   

  Serial.print("Requesting URL: ");

  Serial.println(cmd);

 

  client.print(cmd);   // 这一行是发送命令到服务器

 

  // 这里设置超时,超过30秒不返回,就重试

  unsigned long timeout = millis();

  while (client.available() == 0) {

    if (millis() - timeout > 30000) {

      Serial.println(">>> Client Timeout !");

      client.stop();

      return;

    }

  }

   

  while(client.available()){  //数据返回了。

    String data = client.readStringUntil('\0')// 把数据都读出来

    Serial.println(data);

    Serial.print("time:");

    Serial.println(millis() - timeout);

    if(data  == "off")

    {

      Serial.println("turn off");

       digitalWrite(LED_BUILTIN, HIGH);

    }

    if(data == "on") 

    {

      Serial.println("turn on");

      digitalWrite(LED_BUILTIN, LOW);

    }

  }

  Serial.println("closing connection");

}

}全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第6张图片 

 

 

最后,附上ESP8266 使用 arduion编程的方法:

其实我觉得 esp8226-12E型的板子完全可以替代arduion开发板,22块钱一块,天生带wifi,gpio,pwm等,该有的都有。
这里补充一下esp8226-12E型的板子怎样用arduion编程。
1、当然是先打开arduion(我的是1.6.9版)。
2、选择文件->首选项,修改附加开发板管理器网址。增加一行:http://arduino.esp8266.com/stable/package_esp8266com_index.json
3、选择工具->开发板->开发板管理器,搜索esp8266。
4、点击安装,比较慢。
5、安装完后就可以选择开发板:nodemcu 1.0了。
6、粘贴我的代码就可以测试了。
全平台的物联网连接服务,arduino、nodemcu、esp8266、pc、微信_第7张图片