การนำ ESP8266 มาประยุกต์ใช้ในโรงพยาบาล โดยการกดปุ่มเพือเรียกรถเข็น รถนอน จากเวรเปลมารับ ผ่าน Line notify




ภาพหน้าจอไลน์กลุ่มเวรเปล หลังจากกดปุ่ม




แนวคิด
     ผมเคยทำงานในโรงพยาบาล และพบว่าที่โรงพยาบาลจะมีเวรเปลคอยรับส่งคนไข้ที่ไม่สามารถช่วยเหลือตัวเองได้ ซึ่งในบางครั้งเวรเปลก็จะกระจายไปตามตึกต่างๆ เพื่อส่งคนไข้  หากมีคนมาที่จุดบริการ แล้วไม่มีเวรเปล คงดี ถ้าเพียงแค่กดปุ่มแล้วเวรเปล แล้วเวรเปลมารับที่จุดนั้น โดยหลังจากการกดปุ่ม ระบบจะแจ้งไปยังไลน์กลุ่มของเวรเปล เพื่อเวรเปลเห็นใครอยู่ใกล้จุดนั้นก็มารับ โดยอาจสร้างเป็น 2 ปุ่ม คือ ปุ่มสำหรับรถเข็น และอีก 1 ปุ่ม สำหรับรถนอน

หลักการ
   สร้าง Line group ของเวรเปล ของสร้าง Line notify นำ token มาใช้  แล้วเขียนโปรแกรมใส่ใน esp8266 ซึงอาจจะทำกล่องดีๆ มาครอบไว้ แล้วต่อกับ wifi ของโรงพยาบาล อาจใช้ไฟจากถ่าน หรือไฟจากโรงพยาบาลเองก็ได้ ซึ่งในแต่ละจุด  เราจะเขียนโปรแกรมเพื่อส่งจุดที่ต้องการเวรเปล ไปด้วย เพื่อให้แยกจุดออกจากกัน จุดไหนเรียกก็ไปจุดนั้น


อุปกรณ์
1.ESP8266 node mcu V.2  ( ราคา 200-300 บาท)
2.ปุ่มกดใหญ่ๆ  (ราคา 10-20 บาท)
3.กล่องปิดเพื่อความสวยงาม ( ไม่เกิน 100 บาท)
4.สาย USB (ไม่เกิน 50 บาท)


ตัวอย่าง code  C++
////////////////////

void Line_Notify(String message) ;

#include <ESP8266WiFi.h>

// Config connect WiFi
#define WIFI_SSID "ssid"
#define WIFI_PASSWORD "wifi_password"

// Line config
#define LINE_TOKEN "line token key"

#define SW D5

String message = " Help me please !!!  AT Emergency room  ";

void setup() {
  pinMode(SW, INPUT);

  Serial.begin(115200);

  WiFi.mode(WIFI_STA);
  // connect to wifi.
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  if (digitalRead(SW) == HIGH) {
    while(digitalRead(SW) == HIGH) delay(10);

    Serial.println("Enter !");
    Line_Notify(message);
    // Serial.println();
  }
  delay(10);
}

void Line_Notify(String message) {
  WiFiClientSecure client;

  if (!client.connect("notify-api.line.me", 443)) {
    Serial.println("connection failed");
    return; 
  }

  String req = "";
  req += "POST /api/notify HTTP/1.1\r\n";
  req += "Host: notify-api.line.me\r\n";
  req += "Authorization: Bearer " + String(LINE_TOKEN) + "\r\n";
  req += "Cache-Control: no-cache\r\n";
  req += "User-Agent: ESP8266\r\n";
  req += "Content-Type: application/x-www-form-urlencoded\r\n";
  req += "Content-Length: " + String(String("message=" + message).length()) + "\r\n";
  req += "\r\n";
  req += "message=" + message;
  // Serial.println(req);
  client.print(req);
  
  delay(20);

  // Serial.println("-------------");
  while(client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      break;
    }
    //Serial.println(line);
  }
  // Serial.println("-------------");
}

/////////////////////

ความคิดเห็น

  1. ไม่ระบุชื่อ13 ธันวาคม 2561 เวลา 14:11

    มี ID Line ที่สามารถติดต่อเป็นการส่วนตัวไหมคะ

    ตอบลบ

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

โพสต์ยอดนิยมจากบล็อกนี้

แจ้งเตือนเข้าไลน์กลุ่ม ผ่าน Line notify เมื่อมีคน login เข้า server ของเราผ่าน SSH (linux) หรือ remote desktop เข้ามา (windows server)

การทำ cloud iot ด้วย thingsboard ไว้ใช้เองครับ

การประยุกต์ใช้ line notify ในการแจ้งปัญหาการใช้งาน สำหรับ php