- API là gì và nó hữu ích như thế nào?
- 1. API REST OpenHAB
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. API EmonCMS
- 6. API IO Adafruit
- 7. API Trợ lý Trang chủ
- 8. Các API mạng vạn vật
- 9. API REST ThingSpeak.io
- 10. Xưởng đúc EdgeX
Trong thế giới kết nối ngày nay, Internet of mỏng (IoT) không còn là một từ thông dụng được các chuyên gia ném đá. Nó là có thật!! Và có thể được tìm thấy xung quanh chúng ta, thay đổi cuộc sống, tạo điều kiện cho các dịch vụ tốt hơn, cải tiến quy trình, cung cấp cơ hội mới và tăng doanh thu.
Với hàng tỷ thiết bị mới chưa được kết nối với internet, tác động của IoT chắc chắn sẽ vượt ra khỏi bản thân các thiết bị IoT đối với một số ứng dụng khác bằng cách tận dụng dữ liệu được cung cấp bởi các thiết bị này để đạt được tăng trưởng xã hội và thương mại. Điều này đã xảy ra vì hầu hết các tổ chức ngày nay không triển khai các giải pháp IoT, vẫn có thể thu được lợi ích của nó bằng cách truy cập vào dữ liệu được tạo ra bởi các thiết bị do người khác triển khai bằng cách sử dụng API của họ.
API là gì và nó hữu ích như thế nào?
API viết tắt của từ viết tắt của Application Programming Interface, đây không phải là một thứ mới và chỉ giới hạn ở IoT, chúng đã được sử dụng trong phát triển phần mềm từ lâu. API tạo điều kiện tích hợp dễ dàng các dịch vụ khác nhau vào sản phẩm, cho phép các ứng dụng được viết bằng một ngôn ngữ được sử dụng bởi phần mềm được viết bằng ngôn ngữ khác, giúp giảm thiểu yêu cầu về cơ sở hạ tầng tổng thể và thời gian để phát triển sản phẩm. Những ưu điểm tương tự này hiện đang được chuyển vào các ứng dụng IoT với các API được sử dụng trên các ứng dụng đa dạng để hiển thị dữ liệu cho phép nhiều thiết bị được kết hợp và kết nối để giải quyết các quy trình công việc mới và thú vị, tiết lộ những khả năng chưa từng thấy xung quanh IoT.
Khi đăng ký các dịch vụ mới (ví dụ Spotify), chúng ta thường bắt gặp các tùy chọn như “Đăng nhập bằng Gmail” hoặc “Đăng nhập bằng Facebook”. Đây không phải là thứ gì khác ngoài các API do Google / Facebook cung cấp cho Spotify để giúp thủ tục đăng ký trở nên dễ dàng. Tại đây API sẽ chia sẻ các thông tin chi tiết cơ bản của người dùng như Tên, ID email, Số điện thoại, v.v. với Spotify và giúp bạn tiết kiệm thời gian với thủ tục đăng ký. Tương tự như vậy, các API khác nhau có sẵn cho các nhu cầu ứng dụng khác nhau.
Cũng giống như với phần mềm, có một số API IoT có sẵn cho các tác vụ khác nhau, nhưng hầu hết chúng thường không miễn phí. Đối với hướng dẫn hôm nay, chúng ta sẽ xem xét 10 API IoT nguồn mở hàng đầu, rất hữu ích (theo quan điểm của chúng tôi) để giúp bạn cắt giảm chi phí và thời gian phát triển của mình. Các API này là Mở, miễn phí (hoặc có các gói miễn phí) và có thể được sử dụng không chỉ bởi các chuyên gia mà còn cả các nhà sản xuất, những người yêu thích và khá nhiều người thấy chúng hữu ích và đồng ý với các điều khoản sử dụng. Các API này không được liệt kê theo thứ tự cụ thể, được chọn ngẫu nhiên theo ngành dọc và có lẽ không thể so sánh được khi chúng thực hiện các tác vụ khác nhau.
1. API REST OpenHAB
Open Home Automation Bus (openHAB) là một nền tảng tự động hóa ngôi nhà bất khả tri công nghệ mã nguồn mở giúp kết nối và điều khiển các thiết bị thông minh và các thiết bị gia đình “không thông minh” tại một nơi. Nó cho phép thiết bị thực hiện các hành động do người dùng xác định, sử dụng thông tin do người dùng xác định và các công cụ do người dùng xác định. Để đạt được điều này, openHAB phân đoạn và phân chia các chức năng và hoạt động nhất định, tất cả đều có thể được truy cập thông qua API openHAB REST.
Thông qua API openHAB REST, người dùng có thể truy cập vào dữ liệu của tất cả các thiết bị được liên kết với nền tảng, bản thân thiết bị (mọi thứ) và Bindings, cũng như đưa ra các lệnh và hành động để thay đổi trạng thái, hành vi hoặc thuộc tính của các thiết bị được kết nối với openHAB. Tương tác với API dựa trên giao thức; vì vậy điều quan trọng là phải đảm bảo các kết nối an toàn và chắc chắn khi làm việc với nó. Theo trang web openHAB, một số tương tác có thể có thông qua API openHAB REST bao gồm;
- Truy xuất dữ liệu openHAB từ các ứng dụng bên ngoài
- Đưa dữ liệu và kích hoạt các sự kiện trong openHAB từ các ứng dụng bên ngoài (ví dụ: một số máy dò chuyển động hoặc camera giám sát)
- Kiểm tra các ràng buộc / Sự vật hoặc Mục của openHAB, tìm hiểu về trạng thái, thông số hoặc sự cố hiện tại
- Tương tác với openHAB từ các chương trình khác; nhiều ngôn ngữ lập trình và công cụ tự động hóa có thể dễ dàng sử dụng API REST
- Sử dụng phần mềm của bên thứ ba trên điện thoại di động, chẳng hạn như Tasker để mở cửa nhà để xe của bạn
Tài liệu, các ví dụ khác và hướng dẫn chi tiết về cách sử dụng API có thể được tìm thấy trên trang web của OpenHAB.
Các ứng dụng của bên thứ ba như Tasker đang được sử dụng với openHAB là một gợi ý lớn về cách các API đang mở ra nền kinh tế IoT, mang lại cơ hội tạo ra giá trị bổ sung trong chuỗi.
2. API Mozilla Web Things
Mozilla là một tổ chức phi lợi nhuận với sứ mệnh bảo vệ web miễn phí và mở và API những thứ trên web thể hiện nỗ lực của nó trong việc mở rộng sự tham gia của mình trên web tới IoT. Theo trang web Web Things, API Web Things cho phép người dùng cung cấp các URL duy nhất cho tất cả các thiết bị được kết nối trên World Wide Web, cho phép nó được sử dụng như một lớp ứng dụng thống nhất cho tất cả các thiết bị IoT.
API Web Things, giống như hầu hết các API IoT khác, dựa trên REST và cho phép người dùng; truy cập các thuộc tính của thiết bị, xác định trạng thái hiện tại của từng thiết bị và ra lệnh để thay đổi trạng thái của thiết bị hoặc thực hiện các hành động. API WebThings giúp truy cập tài nguyên, đại diện cho từng khía cạnh của thiết bị dễ dàng, vì mỗi tài nguyên được tham chiếu độc lập bằng cách sử dụng một URL. Thông tin thêm có thể được tìm thấy trong trang web Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap là một dịch vụ dựa trên web cung cấp quyền truy cập vào dữ liệu liên quan đến thời tiết (nhiệt độ, độ ẩm, lượng mưa, v.v.), bao gồm thời tiết hiện tại, dự báo và dữ liệu lịch sử cho các nhà phát triển dịch vụ web, ứng dụng di động và gần đây là IoT. Dữ liệu có sẵn qua OpenWeatherMap được lấy từ các nguồn khác nhau, từ các trạm thời tiết DIY đến các dịch vụ phát sóng khí tượng, trạm thời tiết sân bay và một số nguồn khác. Chúng ta đã thảo luận về cách sử dụng Bản đồ Openweather với Arduino để đọc dữ liệu thời tiết từ internet bằng ESP8266.
Dữ liệu được xử lý và sắp xếp theo cách mà thông qua API OpenWeatherMap, các giải pháp IoT tận dụng những dữ liệu này để thông báo và tự động hóa các tác vụ có thể được xây dựng. Ví dụ, dữ liệu dự báo thông qua API có thể được đưa vào hệ thống / thiết bị báo động để cảnh báo nông dân về những trận mưa lớn có thể xảy ra cùng một số khả năng khác.
Mặc dù hầu hết các tính năng của OpenWeatherMap đều phải trả phí, nhưng gói miễn phí có các tính năng vô cùng hữu ích có thể phục vụ khá tốt hầu hết các dự án IoT. Tài liệu và các chi tiết khác về API có thể được tìm thấy trên trang web openWeatherMap.
4. API EmonCMS
EmonCMS là một ứng dụng web mã nguồn mở mạnh mẽ để xử lý, ghi nhật ký và hiển thị dữ liệu. Nó là sản phẩm của những nỗ lực của nhóm OpenEnergyMonitor, giống như tên của nó, tạo điều kiện thuận lợi cho các thiết bị giám sát năng lượng nguồn mở bằng cách phân tích dữ liệu Môi trường. Về cơ bản, nó là một công cụ trực quan hóa dữ liệu, nơi dữ liệu từ một số giám sát năng lượngcảm biến có thể được xem. Để giúp các nhà phát triển dễ dàng truy cập vào nền tảng, một API kết nối đã được tạo ra để cho phép tương tác với nền tảng khi chạy trên localhost (LAN) hoặc qua internet. API EmonCMS cho phép người dùng cập nhật trạng thái của các thiết bị sử dụng năng lượng trên nền tảng, lấy các chỉ số và các thông số khác cho biết trạng thái của thiết bị (nếu thiết bị tương thích) từ nền tảng cùng với một số tính năng khác.
Bạn đang tìm cách thêm một số trực quan hóa dữ liệu vào giải pháp IoT dựa trên năng lượng tiếp theo của mình? EmonCMS có thể là thứ bạn cần. Bạn có thể tìm thấy thêm thông tin về nền tảng và API trên trang web của họ.
5. API hạt
Particle API là giao diện lập trình Ứng dụng được phát triển bởi Particle để cho phép các nhà phát triển dễ dàng làm việc với nền tảng của họ. Particle.IO là một trong những nhà cung cấp giải pháp IoT đầu cuối thực sự của ngành, cung cấp phần cứng thiết bị, Giao tiếp di động, đám mây thiết bị và giao diện ứng dụng. Trước đây chúng tôi đã sử dụng Đám mây hạt với Raspberry Pi cho mục đích Tự động hóa gia đình.
API Particle giúp các nhà phát triển dễ dàng truy cập và tích hợp toàn bộ chức năng của Particle với các ứng dụng và thiết bị khác. Theo hạt, API cho phép các nhà phát triển viết các chức năng vào chương trình cơ sở của thiết bị của họ và sau đó gọi chúng để sử dụng ở phía ứng dụng của mọi thứ trong thời gian thực. Một số phương pháp API ví dụ bao gồm tắt và bật wifi, kết nối thiết bị, chuyển đổi trạng thái của thiết bị, lấy dữ liệu và quản lý chung các thiết bị.
Tài liệu và các chi tiết khác về API có thể được tìm thấy trên trang web của ParticleIO.
6. API IO Adafruit
Adafruit là một trong những thương hiệu nổi tiếng nhất trong thế giới điện tử DIY và quyết định của họ khi tung ra nền tảng Adafruit IO cho các giải pháp IoT một thời gian đã được cộng đồng nhà sản xuất / người yêu thích thiết bị điện tử đón nhận nồng nhiệt. Nền tảng này đã tiếp tục phát triển kể từ đó và đã phục vụ rất nhiều nhà sản xuất trong đó có tôi. Nền tảng Adafruit IO về cơ bản là một đám mây thiết bị với các tính năng trực quan hóa dữ liệu trong số các tính năng khác, tất cả đều được điều khiển bởi API Adafruit IO. Chúng tôi đã sử dụng Adafruit IO với PIC và các nền tảng phát triển khác như ESP và Raspberry Pi.
Theo Adafruit, API Adafruit IO HTTP cung cấp cho người dùng quyền truy cập vào dữ liệu IO Adafruit của họ từ bất kỳ ngôn ngữ lập trình hoặc môi trường phần cứng nào có thể sử dụng HTTP. Thông qua đó, họ có thể thiết kế các hệ thống thực hiện hành động dựa trên dữ liệu và thực hiện các thay đổi trong thiết bị bằng cách gửi thông tin đến thiết bị.
Nền tảng Adafruit IO là một trong những nền tảng dễ làm việc nhất và nó là một trong những nền tảng yêu thích của tôi cho các dự án DIY IoT. Tài liệu và thông tin chi tiết có thể tìm thấy trên trang web của Adafruit IO.
7. API Trợ lý Trang chủ
Home Assistant là một hệ thống tự động hóa gia đình mã nguồn mở do cộng đồng dẫn dắt, tương tự như openHAB. Giống như các nền tảng khác, Home Assistant được hỗ trợ bởi API REST Python của Home Assistant, cung cấp quyền truy cập vào các phương thức dữ liệu cho dịch vụ điều khiển Home Assistant.
Nó cho phép người dùng chỉnh sửa cấu hình, trả về thông tin cơ bản về phiên bản Home Assistant, trả về tất cả dữ liệu cần thiết để khởi động, trả về một mảng các đối tượng sự kiện và hơn thế nữa. API chỉ chấp nhận và trả về các đối tượng được mã hóa JSON có chứa tên sự kiện, số lượng người nghe và hơn thế nữa. Nó dựa trên python 3 và giúp dễ dàng theo dõi và kiểm soát tất cả các thiết bị gia đình đã đăng ký, bất kể đăng ký được thực hiện qua web hay ứng dụng di động. Bạn có thể tìm thấy tài liệu và các chi tiết khác về API trên trang web của Home Assistant.
8. Các API mạng vạn vật
LoRa đang trở thành một trong những kênh liên lạc được lựa chọn do phạm vi hoạt động xa, tiêu thụ điện năng thấp cùng với các tính năng khác. Mạng Vạn vật (TTN) là một nguồn mở, do cộng đồng nỗ lực nhằm xây dựng một mạng LoRaWAN mở toàn cầu nhằm tạo ra cơ sở hạ tầng mở để tạo điều kiện phát triển các giải pháp IoT dựa trên LoRa. Như vậy, TTN cung cấp một bộ công cụ mở và một mạng mở toàn cầu có tính năng bảo mật và khả năng mở rộng tối đa. Nếu bạn chưa quen với Lora thì hãy xem qua bài viết chi tiết về Giới thiệu về LoRa và LoRaWAN.
Tương tác với nền tảng TTN được thúc đẩy bởi hai API chính; API dữ liệu TTN và API trình quản lý ứng dụng TTN. API dữ liệu cho phép bạn nhận các sự kiện và tin nhắn từ thiết bị cũng như gửi tin nhắn đến thiết bị, nói chung là trao đổi thông tin với thiết bị. Mặt khác, API Trình quản lý ứng dụng được sử dụng để quản lý các ứng dụng, cổng và thiết bị. API dữ liệu dựa trên giao thức MQTT và có thể được sử dụng để phát triển thông qua SDK hoặc trực tiếp với MQTT trong khi API trình quản lý ứng dụng dựa trên giao thức HTTP. Thông tin thêm về các API này có thể được tìm thấy trên trang web của The Things Network.
9. API REST ThingSpeak.io
ThingSpeak được coi là một trong những nền tảng đám mây, mã nguồn mở hàng đầu dành cho các thiết bị IoT. Đây là một trong những nền tảng tốt nhất để xử lý dữ liệu từ các thiết bị, đặc biệt là do nó được tích hợp với MATLAB sau khi được Mathworks mua lại vài năm trước. Nó cho phép người dùng tải lên, tổng hợp, phân tích và trực quan hóa dữ liệu bằng MATLABmà không cần phải mua phần mềm MATLAB riêng. Tất cả những điều trên đều tạo điều kiện thuận lợi cho việc sử dụng ThingSpeak API. Cũng giống như hầu hết các API khác được đề cập ở trên, API ThingSpeak cho phép người dùng; thu thập và lưu trữ dữ liệu cảm biến, truy xuất dữ liệu và trạng thái hiện tại của các thiết bị được kết nối, tự động hóa các sự kiện dựa trên dữ liệu, thiết lập kích hoạt dựa trên trạng thái của thiết bị IoT và tích hợp với các nền tảng truyền thông xã hội như twitter cùng các tính năng khác. Để tìm hiểu thêm về ThingSpeak, hãy xem các dự án IoT trước đây, nơi ThingSpeak đã được sử dụng với nhiều bộ vi điều khiển khác nhau như Arduino, Raspberry PI, ESP, v.v.:
- Giám sát nhiệt độ và độ ẩm trực tiếp qua Internet bằng Arduino và ThingSpeak
- Theo dõi nhịp tim qua Internet bằng Arduino và ThingSpeak
- Trạm thời tiết Raspberry Pi: Theo dõi độ ẩm, nhiệt độ và áp suất qua Internet
- Hệ thống giám sát bệnh nhân dựa trên IoT sử dụng ESP8266 và Arduino
Một số tính năng của ThingSpeak tự động chuyển sang lợi ích của việc sử dụng API của nó là;
- Cấu hình thiết bị dễ dàng để truyền dữ liệu đến nền tảng ThingSpeak bằng các nền tảng IoT tiêu chuẩn.
- Trực quan hóa dữ liệu cảm biến và tổng hợp dữ liệu theo thời gian thực bằng cách sử dụng các nguồn của bên thứ ba.
- Phân tích IoT chạy dựa trên lịch trình hoặc sự kiện.
- Phân tích MATLAB, API RESTful và MQTT.
- Cho phép tạo mẫu và xây dựng hệ thống IoT mà không cần thiết lập máy chủ và cài đặt phần mềm Web.
- Khả năng tương thích với các nền tảng phát triển phổ biến như Arduino và Raspberry Pi
- Tự động hành động trên dữ liệu và tự động hóa các tác vụ
- Tích hợp với các dịch vụ của bên thứ ba như Twitter. Một ví dụ điển hình về một tình huống hữu ích là giải pháp IoT tự động tweet mực nước.
Ngoài API được lưu trữ miễn phí, API ThingSpeak là nguồn mở và có sẵn trên GitHub để tải xuống trên các máy chủ riêng.
10. Xưởng đúc EdgeX
EdgeX Foundry là một hệ sinh thái mã nguồn mở của các nền tảng IoT dựa trên các cấu hình mã nguồn mở. API EdgeX Foundry cung cấp một số điểm cuối cho các dịch vụ bao gồm đăng ký ứng dụng khách , lập lịch và ghi nhật ký. API có kiến trúc REST và sử dụng OAuth 2.0 để xác thực. Edgex có một loạt các dịch vụ vi mô được gắn vào mỗi thiết bị được kết nối với mạng.
Mỗi dịch vụ vi mô có một số lệnh gọi API quan trọng có thể được sử dụng;
- Đăng ký dịch vụ thiết bị
- Cung cấp thiết bị
- Gửi dữ liệu từ thiết bị đến nền tảng Edgex,
- Đọc dữ liệu từ nền tảng Edgex để sử dụng trong các ứng dụng khác
- Xuất dữ liệu, trong số những thứ khác.
Tài liệu và các chi tiết khác về API có thể được tìm thấy trên trang web EdgeX Foundry.
Đó là danh sách của tôi! Tuy nhiên, danh sách này không hề đầy đủ vì một số API khác như IoT-Plotter và những API khác mà tôi có thể đã thêm vào danh sách đang xuất hiện trong tâm trí. Vui lòng để lại nhận xét về các API Open IoT mà bạn đã làm việc. Nhận xét của bạn có thể giúp người khác chọn một API hoặc nền tảng để sử dụng trong các dự án của họ.
Cho đến thời điểm tiếp theo.