อ่าน/เขียน ข้อมูลไปยัง netpie ด้วย app inventor

screen_read_write_netpie_appinventor

 

blocks(1)

ใช้ผ่าน web component ที่อยู่ในหมวด connectivity ซึ่งใช้เรียก REST API ของ netpie โดยกำหนด uri คือ https://api.netpie.io/topic/ชื่อแอพที่สร้างในnetpie/ชื่อtopic?retain&authen=key:secret

เช่น https://api.netpie.io/topic/sControl/sensor/light?retain&auth=key:secret

ตรง key และ secret ใส่ key และ secret ที่ได้จากการสร้างแอพพลิเคชั่นจาก netpie

application_netpie

ลองส่งข้อมูลขึ้นด้วยการใส่ค่าใน textbox แล้วกดปุ่ม [post to netpie] โปรแกรมจะเรียก web method PUT Text เพื่อส่งค่า

ลองอ่านค่าจาก netpie ด้วยการกดปุ่ม [get value from netpie] โปรแกรมจะเรียก web method GET

ค่าที่ได้จาก netpie จะหน้าตาประมาณนี้

[{“topic”:”/sControl/sensor/light”,”payload”:”ํYES”,”lastUpdated”:1498810051,”retain”:true}]

จากนั้นจะมีการตรวจค่าใน Event GotText ก็ทำการตรวจสอบว่าสามารถอ่านค่าได้หรือไม่ (responseCode = 200) แล้วก็ทำการอ่านค่าโดยแปลงจาก json มาใส่ใน List (item) เพื่อใช้ค้นหา key ที่เราสนใจ ซึ่งในที่นี้จะอยู่ใน key ชื่อ payload

 

ตรง if else ที่ตรวจสอบค่าว่าเป็น PUT, หรือ GET เพื่อไม่ให้เกิด error เนื่องจากเวลา PUT netpie จะส่งค่า JSON กลับมาไม่เหมือนกับตอน GET จะได้แสดงผลถูก

ในตัวอย่างนี้มีการใช้ clock ทุก 5 วินาที (อย่าลืมตั้งค่า TimerInterval = 5000) เพื่ออ่านค่า ดังนั้นก็ไม่จำเป็นต้องกดปุ่ม [get value from netpie] ก็ได้ เพราะโปรแกรมจะอ่านค่าจาก netpie มาทุกทุก 5 วินาที เพื่อมาแสดงผล

ส่วนถ้าจะยัด microgear ลงไปใน component ของ app inventor นี่ อันนี้ขอผ่าน ฝีมือยังไม่ถึง รอเซียนทั้งหลายเขาทำมาละกัน 😛

download code

more information

ปล. app inventor มีออกชุดพัฒนาสำหรับ iot แล้วนะ ลองดูที่นี่ http://iot.appinventor.mit.edu

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s