ลอง IoT

by Little Bear @November,09 2019 14.46 ( IP : 122...1 ) | Tags : 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 = &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);
}






แสดงความคิดเห็น

« 9708
หากท่านไม่ได้เป็นสมาชิก ท่านจำเป็นต้องป้อนตัวอักษรของ Anti-spam word ในช่องข้างบนให้ถูกต้อง
The content of this field is kept private and will not be shown publicly. This mail use for contact via email when someone want to contact you.
Bold Italic Underline Left Center Right Ordered List Bulleted List Horizontal Rule Page break Hyperlink Text Color :) Quote
คำแนะนำ เว็บไซท์นี้สามารถเขียนข้อความในรูปแบบ มาร์คดาวน์ - Markdown Syntax:
  • วิธีการขึ้นบรรทัดใหม่โดยไม่เว้นช่องว่างระหว่างบรรทัด ให้เคาะเว้นวรรค (Space bar) ที่ท้ายบรรทัดจำนวนหนึ่งครั้ง
  • วิธีการขึ้นย่อหน้าใหม่ซึ่งจะมีการเว้นช่องว่างห่างจากบรรทัดด้านบนเล็กน้อย ให้เคาะ Enter จำนวน 2 ครั้ง