Bắt đầu với Blynk: Thiết bị IoT tự làm đơn giản

Bắt đầu với Blynk: Thiết bị IoT tự làm đơn giản

Blynk [Đã xóa URL bị hỏng] là một dịch vụ Internet of Things (IoT) được thiết kế để giúp điều khiển từ xa và đọc dữ liệu cảm biến từ thiết bị của bạn nhanh chóng và dễ dàng nhất có thể. Trong bài viết này, chúng tôi sẽ trình bày chính xác Blynk là gì, cách thức hoạt động và cung cấp hai dự án ví dụ ngắn về các mục đích sử dụng dịch vụ khác nhau với bảng phát triển NodeMCU và Raspberry Pi.





Việc bắt đầu phát triển các đối tượng thông minh sử dụng vi điều khiển chưa bao giờ dễ dàng hơn bao giờ hết và các thiết bị IoT đã nhanh chóng trở nên phổ biến trong những năm gần đây. Các bảng phát triển như Arduino hoặc Raspberry Pi có thể được sử dụng để điều khiển mọi thứ từ ổ cắm điện trong nhà của bạn đến đồ trang trí Giáng sinh được kích hoạt bằng chuyển động.





Một lĩnh vực có thể gây ra vấn đề cho những người chưa bắt đầu là mã hóa và kết nối mạng. Blynk nhằm mục đích loại bỏ nhu cầu mã hóa rộng rãi và giúp bạn dễ dàng truy cập thiết bị của mình từ mọi nơi trên điện thoại thông minh của bạn. Nó miễn phí để sử dụng cho những người có sở thích và nhà phát triển, mặc dù nó cũng có sẵn để sử dụng thương mại với một khoản phí - các công ty có thể sử dụng Blynk để tạo các ứng dụng và hệ thống của riêng họ, sau đó bán chúng với thương hiệu của riêng họ.





Blynk sử dụng máy chủ và thư viện riêng của nó để làm cho dịch vụ hoạt động, nhưng ứng dụng Blynk dường như mới là sức mạnh chính của nó.

Vào ứng dụng Blynk

Ứng dụng Blynk có sẵn miễn phí trên Android và iOS. Đó là điểm khởi đầu cho các dự án của bạn, có hệ thống kéo và thả đơn giản để sử dụng để xây dựng các điều khiển tùy chỉnh cho thiết lập IoT của bạn. Quy trình làm việc nhanh chóng: khi bắt đầu một dự án mới, bạn sẽ được nhắc chọn bảng phát triển của mình từ một danh sách mở rộng và cả phương pháp kết nối của bạn. Sau đó, ứng dụng sẽ gửi mã thông báo ủy quyền qua email để kết nối với thiết bị của bạn qua máy chủ Blynk.



làm thế nào để làm mịn các cạnh trong photoshop

Các phần tử điều khiển được gọi là Vật dụng : các loại phương thức nhập và hiển thị đầu ra khác nhau bao gồm các nút, thanh trượt, cần điều khiển, đồ thị và phản hồi văn bản. Ngoài ra còn có các widget thành phần cụ thể, với các điều khiển cách điệu cho LEDS, màn hình LCD và thậm chí cả video phát trực tiếp. Cũng đáng chú ý là các widget bổ sung các tính năng, như đăng tự động lên Twitter và thông báo tùy chỉnh.

Mặc dù ứng dụng miễn phí, nhưng nó giới hạn số lượng vật dụng bạn có thể sử dụng cùng một lúc bằng cách cung cấp cho tất cả chúng một chi phí 'Năng lượng'. Ứng dụng cung cấp cho bạn số dư 2.000 để chơi cùng với tùy chọn mua thêm nếu cần.





Tôi thấy rằng số dư ban đầu được cung cấp là quá đủ cho các dự án ví dụ được liệt kê ở đây, mặc dù nếu thiết lập của bạn phức tạp hơn, bạn có thể thấy mình hết nước khá nhanh.

Mỗi widget có một menu chỉnh sửa cho phép bạn thay đổi tên và màu sắc. Sau đó, bạn chọn ghim nào sẽ ảnh hưởng (cho dù đó là ghim trên bảng của bạn hay một trong các chân ảo của Blynk) cùng với phạm vi giá trị cần gửi. Đối với hiển thị đầu ra như đồ thị và hộp văn bản, bạn cũng có thể chọn tần suất bạn muốn cập nhật, có khả năng tiết kiệm băng thông quý giá.





Blynk cũng có khả năng chỉ định hướng dẫn cho các chân 'ảo', là các kết nối do người dùng định cấu hình giữa ứng dụng và phần cứng. Do đó, một nút duy nhất trong ứng dụng có thể được sử dụng để kích hoạt nhiều sự kiện khác nhau trên thiết bị. Chúng tôi sẽ trình bày cách sử dụng chúng ở phần sau của bài viết.

Ứng dụng cung cấp tùy chọn chia sẻ dự án của bạn với những người khác. Mã QR được tạo có thể được gửi qua email hoặc quét trực tiếp và được sử dụng bởi bất kỳ ai cũng có ứng dụng Blynk. Bất kỳ ai bạn chia sẻ cùng đều không thể thực hiện thay đổi đối với dự án, giúp bạn chia sẻ quyền kiểm soát thiết bị của mình một cách nhanh chóng và thuận tiện. Tuy nhiên, điều đáng chú ý là dự án của bạn trong ứng dụng phải đang chạy để người khác có quyền truy cập vào phần cứng.

Bạn cũng có thể chia sẻ dự án mà không cho phép truy cập vào phần cứng của mình, đây là một cách tuyệt vời để dạy mọi người cách sử dụng ứng dụng mà không cho phép họ bật và tắt đèn của bạn!

Tôi thấy việc tạo một ứng dụng rất nhanh chóng và trực quan. Sau khi tạo xong, bạn có thể bắt đầu sử dụng ngay lập tức bằng cách nhấn vào biểu tượng play ở góc trên cùng bên phải. Nếu bạn cần thực hiện các thay đổi sau đó, bạn có thể chỉ cần nhấn nút tương tự để quay lại chế độ chỉnh sửa.

Máy chủ Blynk

Khi bạn đã tạo một ứng dụng để điều khiển thiết bị của mình, bạn có hai tùy chọn về cách giao tiếp với nó.

Máy chủ đám mây Blynk nhanh chóng, phản hồi nhanh và sử dụng miễn phí. Kết nối với thiết bị Wi-Fi dễ dàng như sao chép mã ủy quyền đã tạo của bạn vào bản phác thảo Arduino và cung cấp thông tin chi tiết về Wi-Fi của bạn. Đối với Raspberry Pi, Blynk cung cấp một tập lệnh thử nghiệm mà bạn có thể chạy với mã ủy quyền của mình để có hiệu quả tương tự. Phần sau của bài viết này, chúng tôi sẽ tạo tập lệnh của riêng mình bằng cách sử dụng thư viện Blynk để kết nối với dịch vụ.

Tùy chọn thứ hai là lưu trữ của riêng bạn Máy chủ Blynk. Blynk cung cấp một máy chủ Java dựa trên Netty mã nguồn mở có thể chạy từ máy tính của bạn hoặc thậm chí là Raspberry Pi. Điều này có nhiều lợi ích khác nhau đối với một số người dùng về chức năng và bảo mật, mặc dù đối với các ví dụ của chúng tôi ở đây, chúng tôi sẽ tập trung vào việc sử dụng máy chủ đám mây Blynk được cung cấp.

Thư viện Blynk

Yếu tố thứ ba và cuối cùng của Blynk là Thư viện Blynk . Thư viện này hoạt động với một danh sách khổng lồ các bảng phát triển để cho phép giao tiếp giữa ứng dụng và phần cứng của bạn.

Đơn giản nhất, tất cả những gì cần thiết là cài đặt thư viện và tải một trong các bản phác thảo ví dụ được chú thích tốt được cung cấp.

Blynk: Thiết lập ban đầu

Cài đặt ứng dụng Blynk trên điện thoại thông minh của bạn và tạo một tài khoản. Đảm bảo rằng bạn sử dụng địa chỉ email mà bạn thực sự có thể truy cập vì đó là nơi mã thông báo ủy quyền của bạn sẽ được gửi. Bây giờ, hãy tạo một dự án, chọn bo mạch mà bạn sẽ sử dụng và cách bạn sẽ kết nối với nó. Cả hai ví dụ ở đây đều kết nối qua Wi-Fi, mặc dù cũng có thể kết nối qua Bluetooth, Ethernet và thậm chí cả GSM.

Tạo dự án của bạn. Thao tác này sẽ tự động gửi mã thông báo ủy quyền. Nếu không nhận được, bạn có thể gửi lại bằng cách chọn biểu tượng cài đặt dự án (hạt nhỏ), chọn thiết bị của bạn và chọn 'E-mail'.

Tiếp theo, cài đặt các thư viện Blynk từ trang web Blynk. Đối với Arduino, hãy cài đặt thư viện bằng cách sao chép các tệp vào Arduino> thư viện thư mục. Nếu bạn chưa quen với Arduino, đây là hướng dẫn để bạn bắt đầu .

Đối với Raspberry Pi, trước tiên bạn cần đảm bảo rằng mình đã cài đặt Node.js. Có một hướng dẫn để cài đặt Node.js trong bài viết này nếu bạn cần nó.

Trước tiên, hãy đảm bảo rằng Pi của bạn được cập nhật và đã cài đặt gói xây dựng cần thiết.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

Sau đó cài đặt Trình quản lý gói nút , NS OnOff thư viện và Chớp mắt thư viện bằng cách gõ cái này vào cửa sổ Terminal của bạn.

sudo npm install -g npm
sudo npm install -g onoff
sudo npm install -g blynk-library

Bạn có thể kiểm tra mọi thứ đã hoạt động bằng cách chạy tập lệnh thử nghiệm Blynk:

blynk.js [YourAuthorizationTokenHere]

Với điều kiện là tất cả đều hoạt động, nó sẽ trông như thế này:

Nếu bạn gặp bất kỳ lỗi nào, hãy đảm bảo rằng Pi của bạn được cập nhật và bạn đã cài đặt phiên bản Node.js mới nhất trước khi cài đặt lại các thư viện NPM, OnOff và Blynk.

Thiết lập nhanh với NodeMCU

Ví dụ đầu tiên này cho thấy việc thiết lập các hệ thống đơn giản bằng Blynk nhanh như thế nào. Nó không yêu cầu mã hóa và sau khi thiết lập, nó hoàn toàn độc lập. Miễn là bo mạch có quyền truy cập vào kết nối Wi-Fi của bạn, bạn có thể truy cập nó từ mọi nơi bằng điện thoại thông minh của mình.

Để bắt đầu, hãy thiết lập một mạch đơn giản trên breadboard. Kết nối pin D0 vào chân dương của đèn LED và trở lại chân GND thông qua điện trở 220 Ohm.

Mở dự án NodeMCU của bạn trong ứng dụng Blynk. Ở phía bên phải, hãy chọn Cái nút widget từ menu. Chọn nút của bạn trong dự án của bạn để mở menu thuộc tính của nó. Tại đây bạn có thể đặt tên cho nó và chọn ghim nào trên bo mạch NodeMCU của bạn mà nó sẽ ảnh hưởng. Lựa chọn chân D0 từ danh sách đầu ra và chuyển đổi chế độ để biến nó thành một công tắc bật và tắt, thay vì một công tắc nhấn tạm thời.

Nhấn quay lại (tất cả các thay đổi được lưu tự động), sau đó nhấn vào biểu tượng phát ở góc trên cùng bên phải để khởi động ứng dụng của bạn. Bạn có thể nhấn nút này bất kỳ lúc nào để quay lại chỉnh sửa dự án của mình.

Tiếp theo, mở Arduino IDE và chọn bảng và cổng NodeMCU của bạn từ menu công cụ. Nếu bạn không thấy bảng của mình trong menu này, bạn có thể cần cài đặt thư viện ESP8266 (hướng dẫn này sẽ hữu ích).

Bây giờ, hãy mở tập lệnh độc lập ESP8266 mà Blynk cung cấp trong thư viện của họ bằng cách điều hướng đến Tệp> Ví dụ> Blynk> Boards_WiFi> ESP8266_Standalone . Thay thế trình giữ chỗ cho mã thông báo ủy quyền bằng mã bạn nhận được qua email và nhập chi tiết Wi-Fi của bạn.

char auth[] = 'YourAuthToken';
char ssid[] = 'YourNetworkName';
char pass[] = 'YourPassword';

Lưu bản phác thảo dưới một tên mới và tải nó lên bảng của bạn. Bây giờ khi bạn nhấn nút trong ứng dụng, đèn LED sẽ bật và tắt. Nếu nó không hoạt động, hãy kiểm tra xem bạn đã nhấn vào biểu tượng phát trong ứng dụng chưa.

Trong những trường hợp đơn giản như thế này, Blynk thiết lập cực kỳ nhanh chóng.

Cũng cần lưu ý rằng vì điều này sử dụng máy chủ Blynk, bạn có thể điều khiển bo mạch của mình từ bất cứ đâu, miễn là bo mạch có quyền truy cập vào kết nối Wi-Fi tại nhà của bạn và điện thoại thông minh của bạn có quyền truy cập dữ liệu di động.

Blynk trên Raspberry Pi

Bạn có thể sử dụng Blynk theo cách giống hệt như trong ví dụ trên trên Raspberry Pi bằng cách sử dụng tập lệnh kiểm tra Blynk, nhưng có một số chức năng sâu hơn mà các chân ảo của Blynk cung cấp, chúng ta sẽ xem xét ngay bây giờ.

Blynk hoạt động bằng cách sử dụng Node.js, vì vậy mã chúng ta sẽ viết hôm nay sẽ bằng Javascript. Nếu bạn là người mới làm quen với ngôn ngữ này, đây sẽ là một phần mềm tuyệt vời để bắt đầu.

Chúng tôi sẽ sử dụng thư viện Blynk để tạo một ứng dụng báo cáo xem cảm biến cửa đang mở hay đóng, đồng thời gửi email và thông báo đẩy tới điện thoại di động của bạn khi cửa mở.

Bạn sẽ cần:

  • Công tắc nam châm cửa (còn được gọi là công tắc cây lau)
  • 1x 1k? điện trở
  • 1x 10k? điện trở
  • 1x 220? điện trở
  • 1x LED
  • Breadboard và dây hookup

Thiết lập breadboard của bạn như thế này:

amazon nói rằng gói hàng đã được giao nhưng nó không phải

Lưu ý rằng thư viện của Blynk sử dụng số GPIO của các chân Pi, vì vậy chúng tôi sẽ sử dụng chúng trong suốt dự án này. Kết nối các chân 5V và GND với các thanh nguồn trên bảng mạch. Kết nối chân GPIO 22 trên Raspberry Pi với cực dương LED và kết nối cực âm với đường sắt nối đất thông qua 220? điện trở. Kết nối chân GPIO 17 với một bên của 1k? điện trở và kết nối 10? điện trở phía bên kia và phía 5V của thanh ray nguồn. Cuối cùng, kết nối công tắc sậy của bạn với mặt GND của thanh ray điện ở một bên và trên đường có 1k? và 10k? các điện trở gặp nhau ở mặt khác. Thiết lập điện trở kéo lên này sẽ làm cho điện áp trên chân 17 đọc cao khi công tắc mở.

Tạo một dự án mới trong ứng dụng Blynk và chọn bảng Raspberry Pi của bạn. Từ menu tiện ích, hãy chọn Giá trị được gắn nhãn, Email và tiện ích Thông báo

Chọn Giá trị được gắn nhãn, đặt tên cho nó và chọn chân ảo V0 vì đó là chân đầu vào. Bạn cũng có thể thay đổi cách hiển thị thông tin. Trong trường hợp này, hãy thêm 'Cửa là' trước / pin / trong tab Nhãn. Chúng tôi có thể để giá trị Tần suất đọc ở cài đặt mặc định, mặc dù bạn có thể thay đổi giá trị này để gửi dữ liệu đến ứng dụng của mình ở một tốc độ khác.

Cần lưu ý rằng bạn không thực sự phải nhập địa chỉ email vào tiện ích email vì chúng tôi sẽ thêm nó vào mã sau này, mặc dù tiện ích phải có mặt để nó hoạt động.

Khi bạn hài lòng với giao diện ứng dụng của mình, hãy nhấn vào nút Phát ở góc trên cùng bên phải.

Bây giờ, hãy tạo một tập lệnh mới có tên là blynkdoor.js . Mã đầy đủ có sẵn được chú thích đầy đủ ở đây .

sudo nano blynkdoor.js

Chúng tôi cần bắt đầu bằng cách nhập thư viện Blynk, thêm khóa ủy quyền của chúng tôi và tạo một phiên bản Blynk để sử dụng trong tập lệnh của chúng tôi.

var blynklib = require('/usr/local/lib/node_modules/blynk-library');
var AUTH ='PasteAuthorizationCodeHere'
var blynk = new blynklib.Blynk(AUTH);

Chúng ta cũng cần nhập thư viện OnOff và khai báo các biến thiết lập công tắc sậy và đèn LED của chúng ta. Chúng tôi cũng sẽ tạo một biến cho mã pin ảo mà chúng tôi đã thiết lập trên ứng dụng Blynk.

var Gpio = require('onoff').Gpio,
reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed
led = new Gpio(22, 'out');
var virtualPin = 0;

Bây giờ chúng ta sẽ sử dụng đồng hồ chức năng từ thư viện OnOff để theo dõi các thay đổi trong công tắc sậy của chúng tôi. Công tắc cửa ở 0 hoặc 1 và bất cứ khi nào giá trị đó thay đổi, chúng tôi ghi thay đổi đó vào chân LED.

reed.watch(function(err,value){
led.writeSync(value);

Chúng tôi cũng có thể sử dụng giá trị để gửi dữ liệu đến ứng dụng Blynk. Nếu cánh cửa bị đóng, chúng tôi muốn có thể thấy điều đó trong tiện ích Giá trị được gắn nhãn của bạn. Nếu cánh cửa mở ra, chúng tôi muốn nhận được thông báo và email cho chúng tôi biết. Chúng tôi thực hiện điều này với câu lệnh if và sử dụng virtualWrite , thông báo , và e-mail các chức năng từ thư viện Blynk. Tài liệu đầy đủ cho Blynk có thể được tìm thấy ở đây .

if(value==0){
blynk.virtualWrite(virtualPin,'Closed');
console.log('Door Closed');
};
if(value==1){
blynk.notify('The door just opened!');
blynk.email('email@address.here', 'Front Door', 'The front door just opened.');
blynk.virtualWrite(virtualPin,'Open');
console.log('Door Open');
};
});

Giờ đây, bất cứ khi nào công tắc sậy đăng ký thay đổi giá trị, dữ liệu sẽ được gửi đến mã pin ảo của chúng tôi và trong trường hợp cửa mở tới tiện ích thông báo trong ứng dụng, cũng như ghi vào bảng điều khiển. Lưu ý rằng dấu ngoặc nhọn cuối cùng là từ nơi chúng tôi bắt đầu đồng hồ chức năng trên.

Cuối cùng, chúng ta cần thiết lập lại mã pin khi chương trình kết thúc. Điều này cũng giống như GPIO.cleanup () bạn có thể đã quen thuộc với.

process.on('SIGINT', function () {
led.unexport();
reed.unexport();
});

Bây giờ hãy lưu mã của bạn và thoát. Chạy tập lệnh của bạn bằng cách sử dụng nút.

sudo node blynkdoor.js

Bây giờ khi bạn di chuyển nam châm ra khỏi cảm biến sậy, bạn sẽ nhận được thông báo cho biết cửa đã mở và màn hình được dán nhãn của bạn sẽ thay đổi. Đóng công tắc lại và bạn sẽ thấy rằng màn hình được gắn nhãn sẽ thay đổi một lần nữa.

Điều đáng chú ý là ứng dụng Blynk phải đang chạy trên điện thoại của bạn để nhận được thông báo đẩy, mặc dù các email vẫn hoạt động cho dù ứng dụng có đang chạy hay không.

Trong thời gian ngắn cho đến nay với Blynk, có vẻ như đây là một dịch vụ rất dễ sử dụng. Ở mức đơn giản nhất, nó cho phép những người không có kiến ​​thức về mã hóa có thể dễ dàng xây dựng các hệ thống tự động hóa nhà tự làm. Với một chút kiến ​​thức mã hóa bổ sung, nó thậm chí còn trở nên mạnh mẽ hơn, cho phép các hệ thống phức tạp hơn nhiều và nhiều trình kích hoạt sự kiện chỉ từ một lần nhấn nút trong ứng dụng.

Dự án này là phần giới thiệu cơ bản về Blynk, mặc dù những gì chúng tôi đề cập ở đây có thể dễ dàng sửa đổi cho hầu hết mọi dự án tự động hóa hoặc vi điều khiển gia đình.

Bạn đã sử dụng Blynk chưa? Bạn có một hệ thống phức tạp điên rồ sử dụng dịch vụ mà bạn muốn chia sẻ với chúng tôi không? Cho chúng tôi biết trong các ý kiến ​​dưới đây!

Tín dụng hình ảnh: Giuseppe Caccavale qua YouTube.com

Đăng lại Đăng lại tiếng riu ríu E-mail Canon so với Nikon: Thương hiệu máy ảnh nào tốt hơn?

Canon và Nikon là hai tên tuổi lớn nhất trong ngành máy ảnh. Nhưng thương hiệu nào cung cấp dòng máy ảnh và ống kính tốt hơn?

Đọc tiếp
Chủ đề liên quan
  • DIY
  • Nhà thông minh
  • Arduino
  • Raspberry Pi
  • Tự động hóa gia đình
  • Internet of Things
  • Thiết bị điện tử
Giới thiệu về tác giả Ian Buckley(216 bài báo đã xuất bản)

Ian Buckley là một nhà báo tự do, nhạc sĩ, nghệ sĩ biểu diễn và nhà sản xuất video sống ở Berlin, Đức. Khi không viết hay trên sân khấu, anh ấy sẽ mày mò với các thiết bị điện tử hoặc mã tự làm với hy vọng trở thành một nhà khoa học điên rồ.

Xem thêm từ Ian Buckley

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký
Thể LoạI Diy