มั่ว, ไม่ธรรมดา

energy meter

ตัวอย่างการอ่านค่าจากมิเตอร์ไฟฟ้า ยี่ห้อนี้ http://www.eastrongroup.com/products/59.html

ผ่าน modbus 485 https://www.arduinoall.com/product/1205/ttl-to-rs485-level-serial-uart-module

ติดตั้ง library นี้ก่อน https://github.com/reaper7/SDM_Energy_Meter

ตัวอย่างนี้ อ่านข้อมูลจากมิเตอร์ไฟฟ้าแล้วส่งข้อมูลขึ้น thingspeak.com

/*
 * 
 * 
 * https://github.com/reaper7/SDM_Energy_Meter
 * 
 */


#include <SDM.h>
#include <ESP8266WiFi.h>          //https://github.com/esp8266/Arduino
#include <ThingSpeak.h>
#include <BlynkSimpleEsp8266.h>


// SDM<9600> sdm;
SDM sdm(Serial, 9600, NOT_A_PIN, SERIAL_8N1, false);

// ThingSpeak information
char thingSpeakAddress[] = "api.thingspeak.com";
unsigned long channelID = 123456;
char *readAPIKey = "xxxxxxxxxxxxxxxx";
char *writeAPIKey = "xxxxxxxxxxxxxxxx";

BlynkTimer blynkTimer;

WiFiClient client;

float tmpVol = NAN;
float tmpAmp = NAN;
float tmpWat = NAN;
float tmpFre = NAN;
float tmpEne = NAN;
int readCount = 0;
float voltage = 0.0;
float amp = 0.0;
float watt = 0.0;
float freq = 0.0;
float energy = 0.0;


void setup() {
  pinMode(BUILTIN_LED, OUTPUT);
  digitalWrite(BUILTIN_LED, HIGH);

  
  sdm.begin();
  
  WiFi.begin("XXX", "12345678");
  Serial.print("Connecting");
  Serial.println();

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    /*
    if ( digitalRead(TRIGGER_PIN) == LOW ) {
      ondemandWiFi();
    }
    */
  }
  Serial.println();
  Serial.print("Connected, IP address: ");
  Serial.println(WiFi.localIP()); 
  
  ThingSpeak.begin( client );
  blynkTimer.setInterval(60000L, sendThingSpeak);                   // send data to thingspeak
  blynkTimer.setInterval(5000L, readMeterData);
}

void loop() {
  blynkTimer.run();
  
}

void readMeterData()
{
  tmpVol = sdm.readVal(SDM220T_VOLTAGE);
  delay(50);
  tmpAmp = sdm.readVal(SDM230_CURRENT);
  delay(50);
  tmpWat = sdm.readVal(SDM230_POWER);
  delay(50);
  tmpFre = sdm.readVal(SDM230_FREQUENCY);
  delay(50);
  tmpEne = sdm.readVal(SDM230_TOTAL_ACTIVE_ENERGY);

  if (!isnan(tmpVol)) {
    digitalWrite(BUILTIN_LED, LOW);
    Serial.println();
    Serial.print("Voltage:   ");
    Serial.print(tmpVol);
    Serial.println("V");

    Serial.print("Current:   ");
    Serial.print(tmpAmp);
    Serial.println("A");

    Serial.print("Power:     ");
    Serial.print(tmpWat);
    Serial.println("W");

    Serial.print("Frequency: ");
    Serial.print(tmpFre);
    Serial.println("Hz");

    Serial.print("Total Energy: ");
    Serial.print(tmpEne);
    Serial.println("kWh");
    voltage += tmpVol;
    amp += tmpAmp;
    watt += tmpWat;
    freq = tmpFre;
    energy = tmpEne;
    readCount++;
  }
  delay(500);
  digitalWrite(BUILTIN_LED, HIGH);
  delay(500);
  digitalWrite(BUILTIN_LED, LOW);
}


void sendThingSpeak()
{
  if(readCount != 0) {
    voltage = voltage / readCount;
    amp = amp / readCount;
    watt = watt / readCount;    
  }

    Serial.println();
    Serial.print("Voltage:   ");
    Serial.print(voltage);
    Serial.println("V");

    Serial.print("Current:   ");
    Serial.print(amp);
    Serial.println("A");

    Serial.print("Power:     ");
    Serial.print(watt);
    Serial.println("W");

    Serial.print("Frequency: ");
    Serial.print(freq);
    Serial.println("Hz");

    Serial.print("Total Energy: ");
    Serial.print(energy);
    Serial.println("kWh");
    
  

  
    ThingSpeak.setField( 1, voltage );
    ThingSpeak.setField( 2, amp );
    ThingSpeak.setField( 3, watt);
    ThingSpeak.setField( 4, freq );
    ThingSpeak.setField( 5, energy);
  
    int writeSuccess = ThingSpeak.writeFields( channelID, writeAPIKey );
    Serial.println(writeSuccess);
    Serial.println();

    voltage = 0;
    amp = 0;
    watt = 0;
    readCount = 0;
}
Advertisements
ธรรมชาติ, ไม่ธรรมดา

การกระทบของอารมณ์

มีเรื่องจะเล่าให้ฟัง (อ่าน)

เล่าจากประสบการณ์ตัวเอง

บางคนอาจจะมี อาจจะเป็น อาจจะเคย ก็ว่ากันไป

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

ทำไปนานนาน จนบางที คนจะมองว่า ไอ้นี่มันไม่มีความรู้สึก (รัก โลภ โกรธ หลง ฯลฯ) มันไม่เคย …(รู้สึก) เปล่าเลย มันยังรู้สึก แต่ ถ้ามีสติดี มันสลัดออกไปได้เร็ว สลัดคือ ไม่ใช่การปฏิเสธมัน หรือไม่ใช่การโยนทิ้ง ไม่ใช่การต่อต้านมัน แต่มันก็การยอมรับแบบหนึ่งก็ได้ (ศิโรราบ) หรือการวางความรู้สึกเป็นกลาง แล้วไอ้ความรู้สึกนั้นมันก็หายไปของมันเอง

บ้างเขาก็เปรียบเหมือนโยนอะไรลงไปบนผิวน้ำ มันเกิดการกระทบ แต่ มันจะกระเพื่อมไหว รุนแรง นาน หรือไม่ นั่นมันอีกเรื่อง บ้างเกิดการกระทบ แต่ ไม่มีการไหวกระเพื่อมเลย หรือเกิดการกระเพื่อม ซ้ำแล้ว ซ้ำเล่า เปรียบได้ แบบนั้น

บางที ที่ฝึกบ่อย ฝึกได้ดี เวลาดูหนัง ดูละคร ก็รู้สึกเฉย ไป (คล้ายจะไม่สนุก) มันไม่เหมือนที่เราปล่อยให้มันรับอารมณ์แล้วรู้สึกคล้อยตามไปกับมัน (กระเพื่อม) แต่มันก็ยังกระทบ กระเพื่อมอยู่ (ยังไม่บรรลุนี่) แค่มันรู้สึกตัวดี บางครั้งก็ยอมปล่อยให้มัน อยู่ในวังวนไปบ้าง ฮ่า ฮ่า

ใครจะทำ จะหัด จะไม่ทำ นั่นก็แล้วแต่ ทำเองก็รู้ ไม่ทำก็คงไม่ได้ผิดอะไร (แต่คนที่เคยทำแล้ว ที่รู้แล้วพ้นไปแล้ว ก็มักจะเตือนว่า เสียดายเวลา เสียดายโอกาสนะ ถ้าไม่หัด ไม่ฝึก)

ข้อดีคือ เวลารับรู้เรื่องดีดี เช่น ดีใจ รัก ชอบ รสสัมผัส ที่ดี มันจะรู้สึกได้ดีมากมาก รับการสัมผัส มีการรับรู้ได้บริสุทธิ์ ไม่ว่าจะกิน (รู้รส) การฟัง การดู การเกิดความรู้สึกข้างใน

ข้อดีอีก คือ เวลารับรู้เรื่องไม่ดี รู้สึกโมโห รู้สึกเกลียด รู้สึกไม่ชอบ มันจะไม่กระทบกระเทือนอะไรเลย (คล้ายกับว่า ทนได้ แต่ไม่ใช่จำเป็นต้องทน ถ้าทนคือการต่อต้าน การปฏิเสธ) มันจะไม่โกรธใคร ไม่เกลียดใคร หรือถ้าจะโกรธ จะเกลียด ก็เป็นแต่ไม่นาน คำว่า ไม่นานคือ ไม่กี่วินาที ไม่กี่นาที ถ้าเป็นชั่วโมง หรือ เป็นวัน อันนี้ นานไปละ

และมันจะมี เมตตา เกิดขึ้น มาแทน เราอาจจะเกลียดศัตรู แต่ สุดท้าย ก็มีเมตตา ต่อเขา เมื่อถึงที่สุด หรือเราก็ไม่ต้องเกลียด และปฏิบัติต่อกัน ตามเหตุ ตามผล ที่พึงมี หรือ ทำไปตามเหตุ ว่าต้องทำอะไร ไม่ต้องทำอะไร อะไรที่ต้องทำไปตามที่เหมาะที่ควร

 

วันที่  28 ตุลาคม พ.ศ. 2561

เวลา 12:40:28 น.

บนเตียงนอน ที่บ้านตรอกจันทน์

 

มั่ว

ติดตั้ง ThingsBoard

ทำตามนี้ https://thingsboard.io/docs/user-guide/install/rpi/

อาจจะต้อง เฉไฉไปทางนี้ ถ้าอย่างใช้ PostgreSQL เป็นฐานข้อมูล ซึ่งอาจต้องอ่านนี่เพิ่มด้วย https://medium.freecodecamp.org/how-to-get-started-with-postgresql-9d3bc1dd1b11

กรณี port ที่ใช้อยู่ชนกับ port ที่เปิดใช้งานอื่น ก็เปลี่ยนก่อน รายละเอียดหมายเลข port อยู่นี่ https://thingsboard.io/docs/user-guide/install/config/

 

 

มั่ว, ไม่ธรรมดา

การบริหารจัดการวิกฤตการณ์น้ำท่วมด้วยเครื่องมือจาก Google

ตอนที่สอง ต่อจากตอนแรก https://kaebmoo.wordpress.com/2011/10/18/google-crisis-response/

Google Crisis Response

มาว่ากันต่อ ชักจะติดลมนิด นิด แต่ไม่รู้จะเขียนได้แค่ไหน ลงไปในรายละเอียดสักนิดว่าเราจะใช้เครื่องมือเหล่านั้นอย่างไร แล้วเราต้องมีอะไรบ้าง เริ่มจาก

  1. อินเทอร์เน็ต แน่นอนไม่มีไม่ได้ ไม่มีแล้วจะใช้ Google ได้อย่างไร เอะ ก็น้ำมันท่วมระบบสื่อสารก็เสียหาย ไฟฟ้าไม่รู้จะมีหรือไม่ แล้วจะเอาอินเทอร์เน็ตจากไหนละวะ พักเรื่องนี้ไว้ก่อนมาดูข้อต่อไป
  2. คอมพิวเตอร์ จะเป็น PC เป็น Mac เป็นกระดานชนวนอิเล็กทรอนิกส์ ก็ Tablet นั่นแหละ หรือแม้แต่โทรศัพท์ ขอให้มันเปิด web ได้ก็พอ แต่ไอ้สองอย่างหลังนี่ อาจจะมีข้อจำกัด
  3. ใช้อินเทอร์เน็ตเป็น และมีความรู้ทางด้านอินเทอร์เน็ตบ้าง ถ้าบอกว่า facebook คืออะไร twitter คืออะไร google maps ใช้อย่างไร แบบนี้สงสัยจะไม่รอด
  4. ความรู้ทางวิชาชีพ อะ อันนี้ถ้าไม่มีก็ไม่รู้จะว่าอย่างไรแล้วละครับท่าน นอกเหนือจากนี้ก็ต้องมีความรู้ทางด้านระบบพิกัดภูมิศาสตร์  คณิตศาสตร์ สถิติ เป็นต้น
  5. โทรศัพท์เคลื่อนที่ หรือวิทยุสื่อสารที่สามารถใช้ได้ในกรณีที่เครือข่ายโทรศัพท์ไม่สามารถใช้การได้ โทรศัพท์ถ้าเป็นแบบ smart phone ได้ยิ่งดีโดยเฉพาะรุ่นที่มี GPS ถ้าไม่มีจะมีอุปกรณ์ระบุพิกัดทางภูมิศาสตร์หรือ GPS ต่างหากก็ได้ ซึ่งระบบ GPS นี้จะสามารถช่วยให้เจ้าหน้าที่ ที่ปฏิบัติงานในพื้นที่สามารถแจ้งระบุตำแหน่งได้แม่นยำมากยิ่งขึ้น

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

ปัจจุบันทราบว่าการระบุตำแหน่งสามารถทำได้ง่ายขึ้น เช่น ข้อมูลของการไฟฟ้ามีการเก็บข้อมูลตำแหน่งของมิเตอร์ไฟฟ้า ดังนั้นเพียงแค่ผู้ประสบภัยแจ้งบ้านเลขที่ หมู่บ้าน ตำบล ก็จะทำให้ทราบตำแหน่งที่อยู่ของผู้แจ้งได้ทันที คำถามมีอยู่ว่าแล้วเราจะเข้าถึงระบบแผนที่หรือ GIS ของการไฟฟ้าได้หรือไม่ คำตอบในภาวะวิกฤตก็ต้องบอกว่าทำได้ยากหรือไม่ได้เลย แล้วเราจะแบ่งปันตำแหน่งเหล่านี้ได้อย่างไร หรืออีกกรณี ถ้าเจ้าหน้าที่กู้ภัยเข้าไปถึงจุดประสบภัยแล้วทราบตำแหน่งพิกัดจากอุปกรณ์ GPS แล้วจะแบ่งปันพิกัดเหล่านี้ให้กับผู้อื่นที่เกี่ยวข้องได้อย่างไร คำตอบก็คือใช้ Google Maps ครับ เราสามารถที่จะสร้างแผนที่ขึ้นมาโดยกำหนดให้เป็นแบบสาธารณะ (public) ในการแก้ไขแผนที่เราสามารถที่จะใช้เครื่องมือคือ การวางตำแหน่ง (placemark) ซึ่งมี icon สัญลักษณ์ให้เลือกตามความเหมาะสม การวาดเส้น (Lines) การวาดเส้นตามถนน และการวาดเส้นล้อมรอบพื้นที่ (Shapes) โดยสามารถกำหนดสีเพื่อระบุความหมายได้ สำหรับการวางตำแหน่งเมื่อเราทราบพิกัดต่าง ๆ ไม่ว่าจะเป็นพิกัดของผู้ประสบภัย (ละติจูด ลองติจูด) เราก็สามารถจะกำหนดจุดพิกัดดังกล่าวในแผนที่ได้ทันที

รูปแสดงตัวอย่างแผนที่ ที่สร้างจาก Google Maps

😉

07 09 2018 มาถึงวันนี้ ไม่รู้เรายังมีปัญหาแบบ 2554 อยู่อีกมั้ย

บานนั้น, มั่ว

อาหารการกิน

อาหารการกิน

ไม่กินเนื้อ(วัว)

เคยหลอกให้กินเนื้อค่าง … กินแล้วด้วย … พอรู้ พะอืดพะอม

Babe

Babe

DSC02540

แล้วรู้ไหมว่าเขาเลี้ยงสัตว์เพื่อเอามาขายให้เราซื้อไปกินกันอย่างไร

หรือเราจะเลี้ยงในทุ่งโล่ง ให้สัตว์มันร้องเพลงสบาย สบาย ไม่ต้องจับมาฆ่า แค่เขียนป้ายแปะว่าวันนี้ฉันต้องการหนึ่งตัว แล้วมันก็เดินต้อย ต้อย มากลั้นหายใจตายเอง ให้เราแล่เนื้อไปกิน ไปขาย

สัตว์เลี้ยงที่บ้าน

ยิงกระรอก ยิงนกในป่า

 

ร่างไว้นานมาก 😉 ตั้งแต่ Nov. 12, 2013  คิดไม่ออกแล้วว่าจะเขียนอะไรต่อ 2018 09 07

มั่ว

เปลี่ยนโทรศัพท์ Android มาเป็นเครื่องที่ใช้ iPhone จะย้ายเบอร์มาเครื่องใหม่ได้อย่างไร

ก่อนอื่นอ่านบทความนี้ก่อน https://kaebmoo.wordpress.com/2014/11/24/move-iphone-contacts-to-android/ เพราะบทความอันนี้จะเขียนสั้นสั้น หลักของวิธีการคือทำกลับกัน นั่นก็คือทำการเอาข้อมูล Contacts ออกมาจาก Google (export) แล้วก็นำมาเข้าใน Contacts ของ iCloud (import) โดยไปที่ Contacts อยู่เมนูด้านขวาบนของจอภาพ (อย่าลืม login เข้า gmail ก่อน)

contacts

จะขึ้นหน้านี้ เลื่อนลงไปข้างล่างที่ More แล้วเลือกไปที่ Export

export

เลือกการ export เป็นแบบ vCard

exportcontacts

จากนั้นก็ไป login เข้า iCloud แล้วเลือก Contacts จากนั้นหน้าจอด้านล่างซ้ายเลือกไปที่ import

importvCard

เอวังก็มีด้วยประการฉะนี้ เบอร์โทร ฯลฯ ทั้งหมดทั้งปวงที่เคยอยู่ในโทรศัพท์ Samsung, Huawei, Mi, Vivo สารพัดเครื่อง Android ก็จะมาบังเกิดอยู่บนเครื่อง iPhone

ถ้าท่านมีสองเครื่องทั้ง Android และ iPhone ใช้งานพร้อมกัน อยากให้เบอร์โทรสองเครื่องมันเหมือนกัน เพิ่มบนเครื่อง Android แล้วอยากให้มันเพิ่มบน iPhone ให้เอง ว้าวววว ความอยากมากจังนะเธอ คุณต้องมี Application เช่น IFTTT แล้วติดตั้งลงไปในโทรศัพท์ เช่น บนเครื่อง iPhone แล้วก็หา Applet พวก Automatically add new iOS Contacts to your Google services หรือในทางกลับกันก็จาก Google ไป iOS Contacts อันนี้บอกวิธีแล้วแต่ไม่สอนไปค้นหาขั้นตอนเอาเอง วันนี้ขี้เกียจ 😀

แต่ถ้าคุณเห็นว่าบทความเหล่านี้พอมีประโยชน์ อยากจะช่วยค่าเบียร์ผม เชิญครับเชิญ จ่ายเงินตรงนี้ https://paypal.me/ogonan ส่งมาส่งมา ยินดีต้อนงับ เป็นอย่างยิ่ง