Умные дома и многие другие приложения Интернета вещей (IoT) быстро набирают популярность в этом году благодаря развитию таких технологий, как 5G. Все больше и больше продуктов маркируются как «умные», например, смарт-часы и телевизоры, что показывает, что люди превратили слово «умный» в образ жизни.

Общие решения для умного дома включают в себя устройство (вещь), облако и приложение. Некоторые решения также включают большие данные и искусственный интеллект. Традиционная разработка IoT делает упор на последовательность; то есть данные должны обрабатываться последовательно на устройстве, в облаке и в приложении. Сегодня, на основе «Языка спецификации вещей (TSL)» платформы Alibaba Cloud IoT, два конца разработки IoT могут работать параллельно, что значительно снижает трудозатраты и материальные затраты.

Очевидно, что заманчиво работать параллельно, но можем ли мы сделать еще один шаг и доверить всю разработку одному человеку? Ответ - да! Имея в своем распоряжении все технологии, мы теперь можем легко спроектировать и построить умный дом самостоятельно, подобно созданию веб-сайта. Используя платформу Alibaba Cloud IoT Platform, мы можем создать решение для умного дома, написав 30 строк кода.

В настоящее время многие интернет-разработчики остановились у ворот IoT из-за отсутствия встроенных возможностей разработки, таких как основы языка C/C++. С помощью встроенного инструмента Javascript, предоставляемого платформой Alibaba Cloud IoT Platform, разработка устройств может быть выполнена быстро с использованием JavaScript, который легко решает самую большую проблему, стоящую перед этими разработчиками. Для разработчиков встраиваемых систем, которые не знакомы с разработкой интерфейсных и серверных компонентов, Alibaba Cloud IoT Platform также предоставляет приложение Визуальное построение и другие функции быстрого запуска для разработки приложений без написания кода, что значительно сокращает необходимое обучение.

В этой статье мы будем использовать встроенный инструмент Javascript и функцию Visual Building платформы разработки Alibaba Cloud IoT для быстрой разработки систем умного дома, состоящих из измерителей освещения, температуры и влажности, всего с помощью 30 строк кода.

Включение службы

Сначала подайте заявку на получение учетной записи Alibaba Cloud, затем включите и войдите в универсальную платформу разработки IoT Studio.

Затем выберите «Создать проект» (вы можете использовать любое имя, которое вам нравится) › Разработка устройств › Добавить продукт › Категория. Выберите «Освещение» или «Измеритель температуры и влажности» по мере необходимости, выберите Wi-Fi в качестве метода связи и выберите Alink в качестве формата данных.

Выберите «Разработка устройств» > «Добавить устройства отладки» и обратите внимание на тройки устройств.

Разработка устройств

Откройте встроенную онлайн-инструментальную среду JavaScript (среду разработки создавать не нужно) и создайте новый проект. Замените код index.js:

Освещение

var deviceShadow = require('deviceShadow');
var ledHandle = GPIO.open("led1");
deviceShadow.bindDevID({
  "productKey": "123",
  deviceName: "",
  deviceSecret: ""
});
function main(err){
  if(err){
    console.log("failed to connect to the platform");
  }else{
    console.log("the main program started");
    deviceShadow.addDevSetPropertyNotify("LightSwitch", function (lightStatus) {
      GPIO.write(ledHandle, 1-lightStatus);
    });
    var mainLoop = setInterval(function () {
      var ledStatus = GPIO.read(ledHandle);
      deviceShadow.postProperty("LightSwitch", 1-ledStatus);
    }, 2000);
  }
}
deviceShadow.start(main);

Измеритель температуры и влажности

var deviceShadow = require('deviceShadow');
var shtc1 = require('shtc1');
var handle = new shtc1('shtc1');
var ledHandle = GPIO.open("led");
deviceShadow.bindDevID({
  productKey: "a17vi82MmxP",
  deviceName: "0001",
  deviceSecret: "tYUngSMqYeDxODgtX3DNKkQ7920I3t4T"
});
function main(err) {
  if (err) {
    console.log("failed to connect to the platform");
  } else {
    console.log("the main program started");
    var mainLoop = setInterval(function () {
      var val = handle.getTempHumi();
      console.log('shtc1:temp=' + val[0] + ' humi:' + val[1]);
      deviceShadow.postProperty("CurrentTemperature", val[0]);
      deviceShadow.postProperty("RelativeHumidity", val[1]);
    }, 2000);
  }
}
deviceShadow.start(main);

Подключите устройство (например, ESP32) к компьютеру и нажмите «Подключить» и «Выполнить». Устройство автоматически загружает и запускает index.js после запуска и одновременно передает данные на платформу Alibaba Cloud IoT.

Разработка приложения

Системы не могут работать без приложений. Мы можем использовать функцию визуального построения, чтобы быстро завершить приложение без кода. Просто перетащите панель инструментов и последовательно переключайте компоненты, заменяйте картинку и привязывайте устройство для выполнения всех операций.

Комплексная система умного дома, созданная всего из 30 строк кода, завершена и может быть передана другим после сохранения и выпуска.

С помощью Embedded Javascript Tool и IoT Studio разработчики могут легко и быстро начать разработку IoT без изучения нового языка программирования, демонстрируя инклюзивность и оригинальность платформы IoT Alibaba Cloud.

Ссылка: https://www.alibabacloud.com/blog/completing-a-smart-home-system-with-30-lines-of-javascript-code_594508?spm=a2c65.12602238.0.0