1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/libolian-hwcoap

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 06:39 a6799dc

HWCoAP — простой компонент CoAP для подключения к платформе IoT от Huawei

Это очень простая реализация компонента CoAP для соединения с платформой IoT от компании Huawei. Пользователю нужно только реализовать функции отправки и получения данных через UDP и функцию задержки.

Автор проанализировал процесс подключения к протоколу CoAP от Huawei с помощью Wireshark и реализовал в коде простую функцию подключения к платформе, стремясь к простоте и некоторой грубости, но достаточной для использования в обычных сценариях. Если ваша платформа поддерживает связь по UDP, вы можете использовать этот код для связи с IoT от Huawei, избегая необходимости использовать сложный и занимающий место протокол MQTT.

Процесс подключения к платформе IoT от Huawei через CoAP

Далее представлены две картинки, которые демонстрируют процесс подключения к платформе IoT от Huawei по протоколу CoAP. Текущий код также реализован на основе этого процесса.

Подробный анализ можно найти в блоге на сайте CSDN: «Анализ процесса подключения к платформе IOT от Huawei по CoAP с помощью сниффера» (https://blog.csdn.net/llb19900510/article/details/107913255).

image

image

Инструкция по использованию

Описание файлов

  • hwcoap.c — реализация кода.
  • hwcoap.h — заголовочный файл, который должен быть включён в пользовательскую программу.
  • test.c — тестовая программа, реализованная на Linux.
  • testapplication — приложение, скомпилированное на Raspberry Pi.

Как использовать

  1. Добавьте hwcoap.c в свой проект и включите заголовочный файл hwcoap.h в свою программу.
  2. В пользовательской программе реализуйте три интерфейса, определённые в hwcoap.h: функции отправки и приёма данных через UDP, а также функцию задержки:
    /*
    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);
  3. Пользовательская программа вызывает функцию 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, которое работает следующим образом:

img

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/libolian-hwcoap.git
git@api.gitlife.ru:oschina-mirror/libolian-hwcoap.git
oschina-mirror
libolian-hwcoap
libolian-hwcoap
master