Это очень простая реализация компонента CoAP для соединения с платформой IoT от компании Huawei. Пользователю нужно только реализовать функции отправки и получения данных через UDP и функцию задержки.
Автор проанализировал процесс подключения к протоколу CoAP от Huawei с помощью Wireshark и реализовал в коде простую функцию подключения к платформе, стремясь к простоте и некоторой грубости, но достаточной для использования в обычных сценариях. Если ваша платформа поддерживает связь по UDP, вы можете использовать этот код для связи с IoT от Huawei, избегая необходимости использовать сложный и занимающий место протокол MQTT.
Далее представлены две картинки, которые демонстрируют процесс подключения к платформе IoT от Huawei по протоколу CoAP. Текущий код также реализован на основе этого процесса.
Подробный анализ можно найти в блоге на сайте CSDN: «Анализ процесса подключения к платформе IOT от Huawei по CoAP с помощью сниффера» (https://blog.csdn.net/llb19900510/article/details/107913255).
/*
brief: отправить данные через udp.
paras: data: данные для отправки
len: длина отправляемых данных
return: 0-успех, другое -сбой
*/
uint8_t UDP_Send(uint8_t *data, uint16_t len);
/*
brief: получить данные через udp.
paras: data, receive buffer
maxLen, максимальная длина принимающего буфера
return: длина полученных данных.
*/
uint16_t UDP_Receive(uint8_t *data, uint16_t maxLen);
/*
brief: задержать некоторое время. единица измерения: мс
*/
void DelayMs(uint16_t ms);
cHWRegisterWithCoap(char *ep, uint8_t epLen)
для регистрации на платформе. Необходимо передать идентификатор устройства IMEI (который должен быть создан на платформе IoT и добавлен в профиль) и его длину.
Через функцию cHWReportData(uint8_t *data, uint16_t len)
пользовательская программа отправляет данные на платформу.
С помощью функции cuint16_t HWProcessRxData(uint8_t *data, uint16_t maxLen)
программа получает данные, отправленные платформой.test.c — это тестовая программа на Linux, которая после выполнения команды make создаёт приложение testapp.
./testapp 868681049496159
Здесь 868681049496159 — это идентификатор моего устройства на платформе (IMEI), который необходимо изменить в соответствии с вашим устройством.
Testapplication — это приложение, скомпилированное для Raspberry Pi, которое работает следующим образом:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )