ESP8266 và IOT (Part 9): Điều khiển thiết bị trong nhà bằng Slack

How-To-Make-Your-Home-A-Smart-Home

Thêm Outgoing Webhooks Integration vào một Slack Channel

Trong bài tutorial trước bạn đã biết cách để configure một Slack channel để nhận message từ nguồn ngoài, như ESP8266 device. Rất tiện cho việc tạo ra thông báo khi bị trigger từ các cảm biến khác nhau, như chúng ta đã làm ở ví dụ về cảm biến chuyển đông (ở bài trước). Bây giờ chúng ta kích hoạt (enable) kết nối trong chiều ngược lại, từ Slack đến ESP8266. Làm được điều này, rât nhiều ý tưởng có thể phát triển tương tự. Tôi sẽ chỉ cho bạn một project đơn giản tôi đã làm, đó là điều khiển các ứng dụng trong nhà với những lệnh (commands) từ Slack.

Continue reading

ESP8266 và IOT (Part 8): Nhận Motion Alarm Notifications trong Slack

8_1

Cảm biến chuyển động

Trong bài tutorial này tôi chỉ cho các bạn làm cách nào để tạo ra một flow trong Node-RED editor sẽ gửi báo động chuyển động đến tài khoản Slack của bạn. Giống như trước, Node-RED app sẽ được host trong Bluemix. Nếu bạn không quen thuộc với Node-RED, Bluemix platform và cách để kết nối ESP8266 với nó, xem tutorial này.

Continue reading

ESP8266 và IOT (Part 7): Vị trí Devices trên Map

Device on a Map

Internet of Things Workbench

Trong bài này tôi sẽ chỉ cho bạn cách sửa dụng Internet of Things Workbench service trong IBM Bluemix để nhanh chóng phát triển một app có thể được dùng để xác định vị trí trên map, có thể lấy giá trị cảm biến bằng cách click lên marker hiển thị thiết bị nhất định. Để làm chuyện này, tôi sẽ cố định tọa độ và sẽ gửi tọa độ từ thiết bị của bạn. Nếu bạn có thiết bị tĩnh, nó thì ổn, nhưng nếu bạn cần theo dõi thiết bị di chuyển, bạn có thể thêm một GPS module để nhận tọa độ, nhưng nguyên tắc thì tương tự.

Continue reading

Arduino Tutorial (Part 15): Arrays

arduino316

Một mảng là một nhóm các vị trí liên tục trên vùng nhớ mà có chung một kiểu dữ liệu. Để tham chiếu tới một thành phần của dãy, chúng ta cần xác định tên của mảng, và số vị trị của thành phần của mảng.

Hình minh họa phía dưới là một mảng integer gọi là C và chứa 11 phần tử. Bạn tham chiếu tới một trong bất cứ thành phần nào bằng cách đưa tên và theo sau là con số vị trí của thành phần muốn lấy trong dâu ngoặc vuông([*]). Số vị trí thì thông thường gọi là subscript hay index. Thành phần đầu tiên sẽ có subscript là 0 (zẻo) vàn có thể gọi nó là thành phần zero.

Continue reading

Arduino Tutorial (Part 14): Time

arduino316

Arduino cung cấp bốn hàm khác nhau cho time  (thời gian):

S.No.

Hàm & Mô tả

1 delay () function

Cách mà delay() làm việc khá đơn giản. Nó nhận một đối số interger. Con số này là con số thời gian được tính bằng milisecond (ms)

2 delayMicroseconds () function

delayMicroseconds() nhận một đối số interger đơn vị là microsecond

3 millis () function

Hàm này được dùng để trả ra số milisecond tại thời điểm chạy chương trình.

4 micros () function

Hàm này dùng để trả là số microseconde từ thời điểm Arduino bắt đầu chạy chương trình. Con số này sẽ bị tràn khi qua 70 phút (về lại zero)

Các bài cùng tutorial

Bài 01: Giới thiệu
Bài 02: Tổng quan
Bài 03: Arduino Board
Bài 04: Arduino IDE
Bài 05: Cấu Trúc Chương Trình
Bài 06: Data Types
Bài 07: Biến & Hằng số
Bài 08: Toán tử
Bài 09: Control Statements
Bài 10: Vòng lặp
Bài 11: Functions
Bài 12: Strings
Bài 13: String Object
Bài 14: Time
Bài 15: Arrays

Nguồn: tutorialspoint.com

Arduino Tutorial (Part 13): String Object

arduino316

Loại thứ hai của string dùng trong ngôn ngữ Arduino là String Object

Object là gì?

Một object là một construct (kiến trúc) chứa cả data và functions. Một String object có thể được tạo ra giống như một biến vào gán giá trị cho string. String object chứ hàm (gọi là “method” trong lập trình hướng đối tượng (OOP)) cái mà thực thi dữ liệu string được chứa bởi String Object.

Sketch sau và những giải thích sẽ làm rõ object là gì và String object được dùng như thế nào.

Continue reading

Arduino Tutorial (Part 12): Strings

arduino316

String được dùng để lưu trữ text (văn bản). Chúng có thể được dùng để hiển thị đoạn văn bản trên LCD hoặc trong cửa sổ Arduino IDE Serial Monitor. String hữu dụng trong việc lưu trữ thông tin người dùng nhập vào. Ví dụ, các ký tự mà người dùng gõ tữ bàn phím nối với Arduino.

Có 2 loại string trong chương trình Arduino

  • Mảng các ký tự, các mà giống như Strings trong ngôn ngữ C.
  • Arduino String, là string object trong sketch.

Continue reading

Arduino Tutorial (Part 11): Functions

function

Function cho phép cấu trúc chương trình thành từng phần code và có thể thực thi như các task độc lập. Trường hợp điển hình cho việc tạo một functio là khi cần thực thi những công việc giống nhau nhiều lần trong chương trình.

Continue reading

Arduino Tutorial (Part 10): Vòng lặp

arduino316

Các ngôn ngữ lập trình cung cấp các cấu trúc điều khiển (control structure) khác nhau cho phép nhiều hơn các đường xử lý phức tạp.

Mệnh đề vòng lặp cho phép chúng ta thực thi các câu lệnh hoặc một nhóm các câu lệnh nhiều lần.

Continue reading

ESP8266 và IOT (Part 6): Hiển thị dữ liệu cảm biến với IBM Bluemix

Visualization App

Giãn đồ trong IoT Platform

Trong bài tutorial này tôi sẽ chỉ cho bạn làm cách nào hiển thị dữ liệu cảm biến trong IBM Bluemix. Cách đơn giản nhất là thiết lập một chart trong IoT platform sẽ hiển thị dữ liệu trong một vài định dạng (đồ thị đường, đồ thị hình thanh…) Để thực hiện điều này, bạn vào dashboard  của Internet of Things platform và vào Boards.

Continue reading