IoT

IoT

ลอง IoT

โดย Little Bear on 9 พ.ย. 62 14:46

<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 = &quot;browser&quot;;          // ตั้งชื่ออุปกรณ์ เป็นอะไรก็ได้

var microgear = Microgear.create({
    key: KEY,
    secret: SECRET,
    alias : ALIAS
});

<br /> // สร้างฟังก์ชั่นที่จะตอบสนองต่อ message ที่ เข้ามา microgear.on('message', function(topic,msg) {
&nbsp; &nbsp; &nbsp; //ในที่นี้ เราจะเอาข้อความไปแทนข้อความของ HTML element ชื่อ data &nbsp; &nbsp; document.getElementById("data").innerHTML = msg; });

&amp;nbsp; // สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อ connect NETPIE สำเร็จ
microgear.on('connected', function() {
    microgear.setAlias(ALIAS);      // สามารถเปลี่ยน alias ได้

&nbsp; &nbsp; // แสดงข่อความให้ทราบว่า connect สำเร็จ document.getElementById("data").innerHTML = "Now I am connected with netpie...";
<br /> &nbsp; &nbsp; // ตั้ง timer ให้ทำงานทุก 1 วินาที (1000 หมายถึง 1000 ms) setInterval(function() {

        // ส่งข้อความไปยังอุปกรณ์ชื่อตามตัวแปร ALIAS ซึ่งก็คือตัวเอง
        microgear.chat(ALIAS,&quot;Hello from myself at &quot;+Date.now());
    },1000);
});

microgear.connect(APPID);&amp;nbsp; // สร้างการเชื่อมต่อไปยัง 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 = &quot;alice&quot;;   &amp;nbsp; &amp;nbsp; &amp;nbsp;  // ชื่อของตัวเอง
const YOURNAME = &quot;bob&quot;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  // ชื่อของเพื่อนที่จะคุยด้วย

var microgear = Microgear.create({
    key: KEY,
    secret: SECRET,
});

var times = 0

microgear.on('message',function(topic,msg) {
    document.getElementById(&quot;data&quot;).innerHTML = topic+&quot; : &quot;+msg;
});

microgear.on('connected', function() {
    microgear.setAlias(MYNAME);         // ตั้งชื่อตัวเอง
    document.getElementById(&quot;data&quot;).innerHTML = &quot;Now I am connected with netpie...&quot;;&lt;br /&gt;

    setInterval(function() {

        // chat หาเพื่อน
        times++
        microgear.chat(YOURNAME,&quot;Hello from &quot;+MYNAME+ &quot; #&quot;+times+&quot; at &quot;+Date.now());
    },1000);
});
microgear.on('disconnected', function() {
    document.getElementById(&quot;data&quot;).innerHTML = &quot;Now I am disconnected with netpie...&quot;;
});

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"; &nbsp; &nbsp; &nbsp;  // ชื่อของตัวเอง
    const YOURNAME = "alice";&nbsp; &nbsp; &nbsp; &nbsp;  // ชื่อของเพื่อนที่จะคุยด้วย

    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>
&nbsp;  const APPID = "softganz-test";                
&nbsp;  const KEY = "1xQjGzMtaNdX6R1";                    
&nbsp;  const SECRET = "6YyQujajj2nOcagkMyxckfvcL";   

&nbsp;  const ALIAS = "switch";

&nbsp; var microgear = Microgear.create({
&nbsp; &nbsp; key: KEY,
&nbsp; &nbsp; secret: SECRET,
&nbsp; &nbsp; alias : ALIAS
&nbsp; });

 function toggle() {
&nbsp; &nbsp; if(document.getElementById("button").innerText=="OFF"){
    document.getElementById("button").innerText = "Waiting for ON"
&nbsp; &nbsp; &nbsp; &nbsp; microgear.chat('pieled','1');   
&nbsp; &nbsp; }
&nbsp; &nbsp; else{
    document.getElementById("button").innerText = "Waiting for OFF"
&nbsp; &nbsp; &nbsp; &nbsp; microgear.chat('pieled','0');
&nbsp; &nbsp; }
 }
    
&nbsp; microgear.on('message',function(topic,msg) {
&nbsp; &nbsp; &nbsp; document.getElementById("data").innerHTML = "LED is "+(msg == 0 ? "OFF" : "ON");<br />
&nbsp; &nbsp; &nbsp; if(msg=="1"){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.getElementById("button").innerText="ON";
&nbsp; &nbsp; &nbsp; }else if(msg=="0"){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.getElementById("button").innerText="OFF";
&nbsp; &nbsp; &nbsp; }
&nbsp; });
&nbsp; microgear.on('connected', function() {
&nbsp; &nbsp; microgear.setAlias(ALIAS);
&nbsp; &nbsp; document.getElementById("data").innerHTML = "Now I am connected with netpie...";
&nbsp; });

microgear.connect(APPID);
</script>

<div id="data">_____</div>
<center>
<button onclick="toggle()" id="button">OFF</button>
</center>
// #include&nbsp; 2 บรรทัดนี้ ต้องมีเสมอ
#include <ESP8266WiFi.h>
#include <MicroGear.h>&nbsp; &nbsp; &nbsp;  <br />
<br />
<br />
const char* ssid&nbsp; &nbsp;  = "Handy6Plus";&nbsp; &nbsp; &nbsp; &nbsp; // ชื่อ ssid
const char* password = "nopassword";&nbsp; &nbsp; // รหัสผ่าน wifi

#define APPID&nbsp;  "softganz-test"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ให้แทนที่ด้วย AppID
#define KEY&nbsp; &nbsp;  "G0Z1T2E0GSOtfqJ"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ให้แทนที่ด้วย Key
#define SECRET&nbsp; "WGbwwUPpwcT10xL5fEEHoSWG1"&nbsp; &nbsp; &nbsp; &nbsp;  // ให้แทนที่ด้วย Secret

#define ALIAS&nbsp;  "pieblink"&nbsp; // ตั้งชื่อเล่นให้ device นี้

WiFiClient client;

int timer = 0;
char state = 0;

MicroGear microgear(client);&nbsp; &nbsp;  // ประกาศตัวแปร microgear

// สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อมี message เข้ามา
void onMsghandler(char *topic, uint8_t* msg, unsigned int msglen) {
&nbsp; &nbsp; Serial.print("Incoming message --> ");
&nbsp; &nbsp; msg[msglen] = '\0';
&nbsp; &nbsp; Serial.println((char *)msg);

    // ถ้า message ที่เข้ามาเป็น 1 ให้เปิด LED ถ้าเป็น 0 ให้ปิด LED
&nbsp; &nbsp; if(*(char *)msg == '1'){
&nbsp; &nbsp; &nbsp; digitalWrite(LED_BUILTIN, LOW);&nbsp; // LED on
&nbsp; &nbsp; &nbsp; microgear.chat("switch","1");
&nbsp; &nbsp; }else{
&nbsp; &nbsp; &nbsp; digitalWrite(LED_BUILTIN, HIGH);&nbsp; // LED off
&nbsp; &nbsp; &nbsp; microgear.chat("switch","0");
&nbsp; &nbsp; }
}

// สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อ microgear connect กับ NETPIE สำเร็จ
void onConnected(char *attribute, uint8_t* msg, unsigned int msglen) {
&nbsp; &nbsp; Serial.println("Connected to NETPIE...");
    // เราอาจจะใช้โอกาสนี้ ตั้งชื่อ หรือเปลี่ยนชื่อ หรืออาจจะทำอะไรบางอย่าง เช่น subscribe<br />
&nbsp; &nbsp; microgear.setAlias(ALIAS);
}

void setup() {
    // ประกาศให้ เวลามี message เข้ามา ให้กระโดดไปทำฟังก์ชั่น onMsghandler()
&nbsp; &nbsp; microgear.on(MESSAGE,onMsghandler);

    // ประกาศให้เมื่อ connect สำเร็จ ให้กระโดดไปทำฟังก์ชั่น onConnected()
&nbsp; &nbsp; microgear.on(CONNECTED,onConnected);

&nbsp; &nbsp; Serial.begin(115200);
&nbsp; &nbsp; Serial.println("Starting...");

&nbsp; &nbsp; pinMode(LED_BUILTIN, OUTPUT);

&nbsp;  // initiate Wifi
&nbsp; &nbsp; if (WiFi.begin(ssid, password)) {
&nbsp; &nbsp; &nbsp; &nbsp; while (WiFi.status() != WL_CONNECTED) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; delay(500);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.print(".");
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }

&nbsp; &nbsp; Serial.println("WiFi connected");<br />
&nbsp; &nbsp; Serial.println("IP address: ");
&nbsp; &nbsp; Serial.println(WiFi.localIP());

&nbsp;  // initial ตัวแปร microgear<br />
&nbsp; &nbsp; microgear.init(KEY,SECRET,ALIAS);

    // เชื่อมต่อไป NETPIE ไปยัง AppID ที่กำหนด
&nbsp; &nbsp; microgear.connect(APPID);&nbsp; // ฟังก์ชั่นเชื่อมต่อ NETPIE
}

void loop() {
    // เช็คว่า&nbsp; microgear ยัง connect หรือเปล่า
&nbsp; &nbsp; if (microgear.connected()) { // ตรวจสอบการเชื่อมต่อ NETPIE
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println("..."); // พิมพ์แจ้งการเชื่อมต่อ NETPIE สำเร็จ
        // เราต้องเรียก microgear.loop() เป็นระยะ ไม่เช่นนั้น connection จะหลุด
&nbsp; &nbsp; &nbsp; &nbsp; microgear.loop();

&nbsp; &nbsp; &nbsp; &nbsp; if (timer >= 10000) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.println("Publish..."); // พิมพ์แจ้งการส่งข้อมูล NETPIE

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // chat sาตัวเอง ด้วย state ที่ตรงข้ามกัน
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(state==0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  microgear.chat(ALIAS,state);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state=1;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  microgear.chat(ALIAS,state);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state=0;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; timer = 0;
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; else timer += 100;
&nbsp; &nbsp; }
&nbsp; &nbsp; else {
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println("connection lost, reconnect...");<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (timer >= 5000) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; microgear.connect(APPID);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; timer = 0;
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; else timer += 100;
&nbsp; &nbsp; }
&nbsp; &nbsp; delay(100);
}