ลอง 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);
}