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

OSCHINA-MIRROR/chenqinglang-lonon-cam

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

Данный проект представляет собой сетевую камеру видеонаблюдения. В качестве основного управляющего устройства используется ESP32S2, а в качестве пользовательского интерфейса — мини-программа WeChat. Мини-программа может отправлять команды через облачную функцию MQTT для запуска процесса съёмки. Устройство отправляет фотографии на облачную функцию через HTTP POST, после чего они сохраняются в облачном хранилище и записываются в базу данных с информацией о съёмке.

Мини-программа QR-код для привязки устройства

В качестве имени устройства используется MAC-адрес в нижнем регистре. Для генерации MD5-хеша применяется правило «langshao» + имя устройства. Пример: langshao123456abcdef, где первые два байта хеша — «xxxx».

База данных

Название коллекции Описание Настройки доступа
1 event Данные событий Только для чтения и записи создателем и администратором
2 device Информация об устройстве Чтение разрешено всем пользователям, запись и удаление — только администратору
3 firmware Информация о прошивке Чтение доступно всем пользователям, запись — только администратору

Формат базы данных (устройство)

{
  "_id":"xxx",
  "_openid":"o7gKT4ojN3Rj1gPM7qZkR_3g33FQ",
  "device_name":["0":"7cdfa101f672","1":"7cdfa101f620","2":"7cdfa101f8ac"]
}

Формат базы данных (событие)

{
  "_id":"xxx",
  "device_name":"7cdfa101f8ac",
  "event":"photo",
  "event_data":"1636172099000(7cdfa101f8ac).jpg",
  "event_time":1636172099000
}

Формат базы данных (прошивка)

{
  "_id":"xxx",
  "newest_version":"1.0.2"
}

Облачные функции

Название функции Описание
1 iothub_get_state Проверяет, подключено ли устройство к сети
2 iothub-publish Запускает обновление прошивки
3 iothub-shadow-query Запрос теневых данных
4 iothub_clean Периодическая очистка облачного хранилища фотографий для предотвращения переполнения
5 iothub_image Отправка фотографий через HTTPS, сохранение в облачное хранилище и создание журнала фотографий в базе данных

Облачное хранилище

image/                    Хранение фотографий

.gitignore Файлы ca_cert.pem и login.h содержат информацию, необходимую для работы OTA-сервера и MQTT-логина соответственно.

#define TENCENT_MQTT_PRODUCT_ID "xxxx"//Продукт ID
#define TENCENT_MQTT_DEVICE_NAME get_esp32_mac_address()//Имя устройства
#define TENCENT_MQTT_KEY "xxxx"//Ключ HMACSHA256
#define TENCENT_MQTT_USERNAME_PART "xxxx"//Компонент имени пользователя (перед ним необходимо вставить продукт ID)
#define TENCENT_MQTT_URL_PART "xxxx"//Компонент адреса сервера (%s требует передачи продукта ID)
#define TENCENT_MQTT_PORT 1883//Порт сервера
#define TENCENT_MQTT_PASSWORD_PART "xxxx"//Компонент пароля сервера (перед ним вставляется ключ HMACSHA256)
#define TENCENT_SHADOW_TOPIC "xxxx"//Тема теневых данных

app.js содержит информацию, необходимую для доступа к платформе облачных функций.

App({
  globalData: {
    productId: "xxxx", 
    deviceName: "", 
    secretId: "xxxx",
    secretKey: "xxxx",
  },
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('Пожалуйста, используйте 2.2.3 или более позднюю версию базовой библиотеки для использования облачных возможностей')
    } else {
      wx.cloud.init({
        env: "xxx",
        traceUser: true,
      })
    }
  }
})

Фотографии с устройства image image image

QR-коды для мини-программы image

Фото в мини-программе image image image

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

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

Введение

Данный проект представляет собой сетевую камеру видеонаблюдения. Для управления используется плата ESP32S2, а в качестве интерфейса — мобильное приложение на основе WeChat. С помощью облачной функции и протокола MQTT приложение может отправлять команды для съёмки фото. Устройство же отправляет фотографии на облачную функцию через HTTP-запрос POS... Развернуть Свернуть
MulanPSL-2.0
Отмена

Обновления

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

Участники

все

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

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