ลอง IoT
<script src="https://cdn.netpie.io/microgear.js"></script><script> const APPID = "softganz-test"; // AppID const KEY = "TIoxpISdG19dnmH"; // Key const SECRET = "flK17giWJ1pCMuepAD0HTOK6p"; // secret
const ALIAS = "browser"; // ตั้งชื่ออุปกรณ์ เป็นอะไรก็ได้ var microgear = Microgear.create({ key: KEY, secret: SECRET, alias : ALIAS });
<br /> // สร้างฟังก์ชั่นที่จะตอบสนองต่อ message ที่ เข้ามา microgear.on('message', function(topic,msg) {
//ในที่นี้ เราจะเอาข้อความไปแทนข้อความของ HTML element ชื่อ data document.getElementById("data").innerHTML = msg; });// สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อ connect NETPIE สำเร็จ microgear.on('connected', function() { microgear.setAlias(ALIAS); // สามารถเปลี่ยน alias ได้ // แสดงข่อความให้ทราบว่า connect สำเร็จ document.getElementById("data").innerHTML = "Now I am connected with netpie...";
<br /> // ตั้ง timer ให้ทำงานทุก 1 วินาที (1000 หมายถึง 1000 ms) setInterval(function() {
// ส่งข้อความไปยังอุปกรณ์ชื่อตามตัวแปร ALIAS ซึ่งก็คือตัวเอง microgear.chat(ALIAS,"Hello from myself at "+Date.now()); },1000); }); microgear.connect(APPID); // สร้างการเชื่อมต่อไปยัง NETPIE
</script>
<div id="data">_____</div>
<script src="https://cdn.netpie.io/microgear.js"></script><script> const APPID = "softganz-test"; // AppID const KEY = "LdB6MvSys2PWB9j"; // Key const SECRET = "CuUiEku60fhEw7TmFqezhmHN8"; // Secret
const MYNAME = "alice"; // ชื่อของตัวเอง const YOURNAME = "bob"; // ชื่อของเพื่อนที่จะคุยด้วย var microgear = Microgear.create({ key: KEY, secret: SECRET, }); var times = 0 microgear.on('message',function(topic,msg) { document.getElementById("data").innerHTML = topic+" : "+msg; }); microgear.on('connected', function() { microgear.setAlias(MYNAME); // ตั้งชื่อตัวเอง document.getElementById("data").innerHTML = "Now I am connected with netpie...";<br /> setInterval(function() { // chat หาเพื่อน times++ microgear.chat(YOURNAME,"Hello from "+MYNAME+ " #"+times+" at "+Date.now()); },1000); }); microgear.on('disconnected', function() { document.getElementById("data").innerHTML = "Now I am disconnected with netpie..."; }); microgear.connect(APPID);
</script>
<div id="data">_____</div>
<script src="https://cdn.netpie.io/microgear.js"></script> <script> const APPID = "softganz-test"; // AppID const KEY = "cCm6NzTxtkscroD"; // Key const SECRET = "h4kTjFAQBUhPEP8o0U8O3fZ09"; // Secret const MYNAME = "bob"; // ชื่อของตัวเอง const YOURNAME = "alice"; // ชื่อของเพื่อนที่จะคุยด้วย var microgear = Microgear.create({ key: KEY, secret: SECRET, }); var times = 0 microgear.on('message',function(topic,msg) { document.getElementById("data").innerHTML = topic+" : "+msg; }); microgear.on('connected', function() { microgear.setAlias(MYNAME); // ตั้งชื่อตัวเอง document.getElementById("data").innerHTML = "Now I am connected with netpie...";<br /> setInterval(function() { // chat หาเพื่อน times++ microgear.chat(YOURNAME,"Hello from "+MYNAME+ " #"+times+" at "+Date.now()); },1000); }); microgear.on('disconnected', function() { document.getElementById("data").innerHTML = "Now I am disconnected with netpie..."; }); microgear.connect(APPID); </script> <div id="data">_____</div>
<script src="https://cdn.netpie.io/microgear.js"></script> <script> const APPID = "softganz-test"; const KEY = "1xQjGzMtaNdX6R1"; const SECRET = "6YyQujajj2nOcagkMyxckfvcL"; const ALIAS = "switch"; var microgear = Microgear.create({ key: KEY, secret: SECRET, alias : ALIAS }); function toggle() { if(document.getElementById("button").innerText=="OFF"){ document.getElementById("button").innerText = "Waiting for ON" microgear.chat('pieled','1'); } else{ document.getElementById("button").innerText = "Waiting for OFF" microgear.chat('pieled','0'); } } microgear.on('message',function(topic,msg) { document.getElementById("data").innerHTML = "LED is "+(msg == 0 ? "OFF" : "ON");<br /> if(msg=="1"){ document.getElementById("button").innerText="ON"; }else if(msg=="0"){ document.getElementById("button").innerText="OFF"; } }); microgear.on('connected', function() { microgear.setAlias(ALIAS); document.getElementById("data").innerHTML = "Now I am connected with netpie..."; }); microgear.connect(APPID); </script> <div id="data">_____</div> <center> <button onclick="toggle()" id="button">OFF</button> </center>
// <a class="hashtag" href="/tags/include">#include</a> 2 บรรทัดนี้ ต้องมีเสมอ <a class="hashtag" href="/tags/include">#include</a> <ESP8266WiFi.h> <a class="hashtag" href="/tags/include">#include</a> <MicroGear.h> <br /> <br /> <br /> const char* ssid = "Handy6Plus"; // ชื่อ ssid const char* password = "nopassword"; // รหัสผ่าน wifi <a class="hashtag" href="/tags/define">#define</a> APPID "softganz-test" // ให้แทนที่ด้วย AppID <a class="hashtag" href="/tags/define">#define</a> KEY "G0Z1T2E0GSOtfqJ" // ให้แทนที่ด้วย Key <a class="hashtag" href="/tags/define">#define</a> SECRET "WGbwwUPpwcT10xL5fEEHoSWG1" // ให้แทนที่ด้วย Secret <a class="hashtag" href="/tags/define">#define</a> ALIAS "pieblink" // ตั้งชื่อเล่นให้ device นี้ WiFiClient client; int timer = 0; char state = 0; MicroGear microgear(client); // ประกาศตัวแปร microgear // สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อมี message เข้ามา void onMsghandler(char *topic, uint8_t* msg, unsigned int msglen) { Serial.print("Incoming message --> "); msg[msglen] = '\0'; Serial.println((char *)msg); // ถ้า message ที่เข้ามาเป็น 1 ให้เปิด LED ถ้าเป็น 0 ให้ปิด LED if(*(char *)msg == '1'){ digitalWrite(LED_BUILTIN, LOW); // LED on microgear.chat("switch","1"); }else{ digitalWrite(LED_BUILTIN, HIGH); // LED off microgear.chat("switch","0"); } } // สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อ microgear connect กับ NETPIE สำเร็จ void onConnected(char *attribute, uint8_t* msg, unsigned int msglen) { Serial.println("Connected to NETPIE..."); // เราอาจจะใช้โอกาสนี้ ตั้งชื่อ หรือเปลี่ยนชื่อ หรืออาจจะทำอะไรบางอย่าง เช่น subscribe<br /> microgear.setAlias(ALIAS); } void setup() { // ประกาศให้ เวลามี message เข้ามา ให้กระโดดไปทำฟังก์ชั่น onMsghandler() microgear.on(MESSAGE,onMsghandler); // ประกาศให้เมื่อ connect สำเร็จ ให้กระโดดไปทำฟังก์ชั่น onConnected() microgear.on(CONNECTED,onConnected); Serial.begin(115200); Serial.println("Starting..."); pinMode(LED_BUILTIN, OUTPUT); // initiate Wifi if (WiFi.begin(ssid, password)) { while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } } Serial.println("WiFi connected");<br /> Serial.println("IP address: "); Serial.println(WiFi.localIP()); // initial ตัวแปร microgear<br /> microgear.init(KEY,SECRET,ALIAS); // เชื่อมต่อไป NETPIE ไปยัง AppID ที่กำหนด microgear.connect(APPID); // ฟังก์ชั่นเชื่อมต่อ NETPIE } void loop() { // เช็คว่า microgear ยัง connect หรือเปล่า if (microgear.connected()) { // ตรวจสอบการเชื่อมต่อ NETPIE Serial.println("..."); // พิมพ์แจ้งการเชื่อมต่อ NETPIE สำเร็จ // เราต้องเรียก microgear.loop() เป็นระยะ ไม่เช่นนั้น connection จะหลุด microgear.loop(); if (timer >= 10000) { Serial.println("Publish..."); // พิมพ์แจ้งการส่งข้อมูล NETPIE // chat sาตัวเอง ด้วย state ที่ตรงข้ามกัน if(state==0){ microgear.chat(ALIAS,state); state=1; }else{ microgear.chat(ALIAS,state); state=0; } timer = 0; }<br /> else timer += 100; } else { Serial.println("connection lost, reconnect...");<br /> if (timer >= 5000) { microgear.connect(APPID);<br /> timer = 0; } else timer += 100; } delay(100); }