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

OSCHINA-MIRROR/cshi-wot_gateway

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Структура проекта Python-шлюза

Проект Python-шлюза расположен в папке wot_gateway и состоит из следующих директорий и файлов:

Конфигурационные файлы

  • cfg/

    • dev_property.xml: Свойства устройств (используется при регистрации устройств на платформе)
    • gw_property.xml: Свойства шлюза (используется при регистрации шлюза)
    • res_property.xml: Свойства ресурсов (используются при регистрации ресурсов на платформе)
    • gw_json.cfg: Конфигурационный файл в формате JSON, содержащий три поля:
      • updated: Указывает, был ли шлюз обновлен
      • mwid: ID шлюза на платформе
      • hwid: ID аппаратной части шлюза (в настоящее время используется MAC-адрес)
    • local.cfg: Конфигурационный файл для платформы, содержащий IP-адрес платформы, порт сервера и URL открытых интерфейсов
    • mac_dev_map.cfg: Локальная карта отображения HWID на номер устройства
    • mac_resID_resPlat_map.cfg: Локальная карта отображения HWID, локального ID ресурса (определенное нами) и ID ресурса на платформе### Библиотечные модули
  • lib/

    • campra_thread.py: Классический поток для работы с камерой, получает изображения от AllJoyn сервиса. Данные разделены на две части: бинарный поток изображения и заголовок. Заголовок указывает, какое изображение относится к конкретному локальному ресурсу на устройстве с определённым MAC-адресом.
    • common.py: Общие модули, включая получение MAC-адреса и запись конфигурационных файлов
    • gateway.py: Основной класс шлюза, который реализует регистрацию шлюза, его обновление, удаление шлюза, добавление/удаление устройств, добавление/удаление ресурсов, отправку данных сенсоров/изображений
    • heartbeat.py: Поток управления жизнедеятельностью, используемый для регулярной передачи информации о состоянии на платформу и получения команд от платформы. Например, если использовать WeChat для управления, то при отправке команды через WeChat информация о выполнении команды будет содержаться в ответе управления.
    • init.py: Модуль инициализации, используемый для чтения файла конфигурации local.cfg
    • main.cfg: Конфигурационный файл в формате JSON, содержащий интервал времени между сердцебиениями, порты приема данных сенсоров, изображений и других данных
    • main.py: Основной модуль, разработанный с использованием многопоточности.Всего пять потоков: основной поток, поток регистрации свойств ресурсов шлюза (данные поступают от AllJoyn сервиса), поток управления жизнедеятельностью, поток отправки данных сенсоров (данные поступают от AllJoyn сервиса), поток отправки изображений (данные поступают от AllJoyn сервиса).
  • register.py: Поток регистрации шлюза (написан Ян Пин), использующий метод многостороннего мониторинга для получения свойств устройств и ресурсов шлюза (в формате JSON, данные поступают от AllJoyn сервиса) и создания локальной карты отображения. Формат данных регистрации шлюза:

    • Mac_address: Аппаратный ID устройства
    • flags: 0 — устройство подключено, требуется добавление устройства и ресурсов; 1 — устройство отключено, требуется удаление ресурсов
      • Res_num: Количество ресурсов
      • Res: Ресурс
        • Res_type: Тип ресурса
        • Res_name: Имя ресурса
        • Res_unit: Единица измерения ресурса
  • res_data.py: Поток загрузки данных сенсоров, принимает данные сенсоров от сервера AllJoyn, форматируемые в JSON:

    • Mac_addr: Аппаратный ID устройства
    • Res_port: Локальный номер ресурса
    • Res_val: Значение ресурса
  • restful.py: Методы Python для обработки запросов GET и POST

  • log/

    • Логи, поддерживаются редко

Мейнтейнеры:
merryok@163.com (Чжень)
876621413@qq.com (Янг)


Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cshi-wot_gateway.git
git@api.gitlife.ru:oschina-mirror/cshi-wot_gateway.git
oschina-mirror
cshi-wot_gateway
cshi-wot_gateway
master