Skip to content

Commit

Permalink
Merge pull request #7 from Foroxon/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
Foroxon authored Dec 5, 2024
2 parents 32abdcf + 6da959f commit 8cb2954
Show file tree
Hide file tree
Showing 34 changed files with 316 additions and 114 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/beta_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ jobs:
run: |
mkdir -p ${{ github.workspace }}/bin_beta/
cp -f ${{ github.workspace }}/firmware/.pio/build/firmware/firmware.bin ${{ github.workspace }}/bin_beta/${{ env.BETA_VERSION }}.bin
cp -f ${{ github.workspace }}/firmware/.pio/build/firmware/firmware.bin ${{ github.workspace }}/bin_beta/latest_beta.bin
cp -f ${{ github.workspace }}/firmware/.pio/build/firmware/firmware.bin ${{ github.workspace }}/JAAM_${{ env.BETA_VERSION }}.bin
- name: Leave only 3 recent BETA builds
run: |
cd ${{ github.workspace }}/bin_beta/
ls -tp | grep -v '/$' | tail -n +5 | xargs -I {} rm -- {}
cd ${{ github.workspace }}
# Disabled for now
# - name: Leave only 3 recent BETA builds
# run: |
# cd ${{ github.workspace }}/bin_beta/
# ls -tp | grep -v '/$' | tail -n +5 | xargs -I {} rm -- {}
# cd ${{ github.workspace }}
- name: Upload flasher to Github Pages
uses: ./.github/workflows/upload-pages
with:
beta_binary_path: ${{ github.workspace }}/JAAM_${{ env.BETA_VERSION }}.bin
beta_binary_path: ${{ github.workspace }}/firmware/.pio/build/firmware
version: ${{ inputs.release-version }}
beta_build: ${{ github.run_number }}
beta_build: ${{ github.run_number }}
- name: Commit changes
id: commit_changes
uses: stefanzweifel/git-auto-commit-action@v5
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,26 @@
with:
name: firmware-lite.bin
path: ${{ github.workspace }}/firmware-lite.bin
compile_jaam2_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Switch to TEST_MODE build
run: |
sed -i 's/#define LITE ./#define LITE 0/' ${{ github.workspace }}/firmware/src/Definitions.h
sed -i 's/#define TEST_MODE ./#define TEST_MODE 1/' ${{ github.workspace }}/firmware/src/Definitions.h
- name: Compile test firmware
uses: ./.github/workflows/firmware-compile
with:
project-folder: firmware
- name: Copy bin file
run: |
cp -f ${{ github.workspace }}/firmware/.pio/build/firmware/firmware.bin ${{ github.workspace }}/firmware-jaam2-test.bin
- name: Upload JAAM 2 test firmware
uses: actions/upload-artifact@v4
with:
name: firmware-jaam2-test.bin
path: ${{ github.workspace }}/firmware-jaam2-test.bin
# check_firmware:
# runs-on: ubuntu-latest
# steps:
Expand Down
31 changes: 16 additions & 15 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: JAAM_${{ inputs.release-version }}.bin
path: ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin
path: ${{ github.workspace }}/firmware/.pio/build/firmware/*.bin
build_lite:
if: ${{ github.ref_name == 'master' }}
runs-on: ubuntu-latest
Expand All @@ -50,7 +50,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: JAAM_${{ inputs.release-version }}_lite.bin
path: ${{ github.workspace }}/JAAM_${{ inputs.release-version }}_lite.bin
path: ${{ github.workspace }}/firmware/.pio/build/firmware/*.bin
release_firmware:
needs: [build, build_lite]
runs-on: ubuntu-latest
Expand Down Expand Up @@ -80,22 +80,23 @@ jobs:
run: |
mkdir -p ${{ github.workspace }}/bin/
mkdir -p ${{ github.workspace }}/bin_beta/
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/JAAM_${{ inputs.release-version }}.bin ${{ github.workspace }}/bin/${{ inputs.release-version }}.bin
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/JAAM_${{ inputs.release-version }}.bin ${{ github.workspace }}/bin/latest.bin
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/JAAM_${{ inputs.release-version }}.bin ${{ github.workspace }}/bin_beta/${{ inputs.release-version }}.bin
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/JAAM_${{ inputs.release-version }}.bin ${{ github.workspace }}/bin_beta/latest_beta.bin
- name: Leave only 3 recent releases
run: |
cd ${{ github.workspace }}/bin/
ls -tp | grep -v '/$' | tail -n +5 | xargs -I {} rm -- {}
cd ${{ github.workspace }}/bin_beta/
ls -tp | grep -v '/$' | tail -n +5 | xargs -I {} rm -- {}
cd ${{ github.workspace }}
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/firmware.bin ${{ github.workspace }}/bin/${{ inputs.release-version }}.bin
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/firmware.bin ${{ github.workspace }}/bin_beta/${{ inputs.release-version }}.bin
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/firmware.bin ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/JAAM_${{ inputs.release-version }}.bin
cp -f ${{ github.workspace }}/JAAM_${{ inputs.release-version }}_lite.bin/firmware.bin ${{ github.workspace }}/JAAM_${{ inputs.release-version }}_lite.bin/JAAM_${{ inputs.release-version }}_lite.bin
# Disabled for now
# - name: Leave only 3 recent releases
# run: |
# cd ${{ github.workspace }}/bin/
# ls -tp | grep -v '/$' | tail -n +5 | xargs -I {} rm -- {}
# cd ${{ github.workspace }}/bin_beta/
# ls -tp | grep -v '/$' | tail -n +5 | xargs -I {} rm -- {}
# cd ${{ github.workspace }}
- name: Upload flasher to Github Pages
uses: ./.github/workflows/upload-pages
with:
binary_path: ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin/JAAM_${{ inputs.release-version }}.bin
lite_binary_path: ${{ github.workspace }}/JAAM_${{ inputs.release-version }}_lite.bin/JAAM_${{ inputs.release-version }}_lite.bin
binary_path: ${{ github.workspace }}/JAAM_${{ inputs.release-version }}.bin
lite_binary_path: ${{ github.workspace }}/JAAM_${{ inputs.release-version }}_lite.bin
version: ${{ inputs.release-version }}
- name: Commit changes
id: commit_changes
Expand Down
20 changes: 13 additions & 7 deletions .github/workflows/upload-pages/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ name: 'Upload Flasher to Github Pages'
description: 'Upload Flasher to Github Pages'
inputs:
binary_path:
description: 'Path to the binary'
description: 'Path to the binaries folder'
default: ''
beta_binary_path:
description: 'Path to the beta binary'
description: 'Path to the beta binaries folder'
default: ''
lite_binary_path:
description: 'Path to the lite binary'
description: 'Path to the lite binaries folder'
default: ''
version:
description: 'Version of the binary'
Expand All @@ -19,11 +19,13 @@ inputs:
runs:
using: 'composite'
steps:
- name: Copy bin to flesher
- name: Copy bin to flasher
if: ${{ inputs.binary_path != '' }}
shell: bash
run: |
cp -f ${{ inputs.binary_path }} ${{ github.workspace }}/flasher/bins/jaam.bin
cp -f ${{ inputs.binary_path }}/firmware.bin ${{ github.workspace }}/flasher/bins/jaam.fw.bin
cp -f ${{ inputs.binary_path }}/bootloader.bin ${{ github.workspace }}/flasher/bins/jaam.bootloader.bin
cp -f ${{ inputs.binary_path }}/partitions.bin ${{ github.workspace }}/flasher/bins/jaam.partitions.bin
- name: Change version in flasher
if: ${{ inputs.binary_path != '' }}
shell: bash
Expand All @@ -34,7 +36,9 @@ runs:
if: ${{ inputs.beta_binary_path != '' }}
shell: bash
run: |
cp -f ${{ inputs.beta_binary_path }} ${{ github.workspace }}/flasher/bins/jaam_beta.bin
cp -f ${{ inputs.beta_binary_path }}/firmware.bin ${{ github.workspace }}/flasher/bins/jaam.fw.beta.bin
cp -f ${{ inputs.beta_binary_path }}/bootloader.bin ${{ github.workspace }}/flasher/bins/jaam.bootloader.beta.bin
cp -f ${{ inputs.beta_binary_path }}/partitions.bin ${{ github.workspace }}/flasher/bins/jaam.partitions.beta.bin
- name: Change beta version in flasher
if: ${{ inputs.beta_binary_path != '' }}
shell: bash
Expand All @@ -45,7 +49,9 @@ runs:
if: ${{ inputs.lite_binary_path != '' }}
shell: bash
run: |
cp -f ${{ inputs.lite_binary_path }} ${{ github.workspace }}/flasher/bins/jaam_lite.bin
cp -f ${{ inputs.lite_binary_path }}/firmware.bin ${{ github.workspace }}/flasher/bins/jaam.fw.lite.bin
cp -f ${{ inputs.lite_binary_path }}/bootloader.bin ${{ github.workspace }}/flasher/bins/jaam.bootloader.lite.bin
cp -f ${{ inputs.lite_binary_path }}/partitions.bin ${{ github.workspace }}/flasher/bins/jaam.partitions.lite.bin
- name: Change lite version in flasher
if: ${{ inputs.lite_binary_path != '' }}
shell: bash
Expand Down
44 changes: 26 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,39 @@
<img src="https://github.com/v00g100skr/ukraine_alarm_map/blob/master/img/front-full.png" width="600"/>


[WIKI по прошивці](https://github.com/v00g100skr/ukraine_alarm_map/wiki)
[WIKI по прошивці](https://github.com/J-A-A-M/ukraine_alarm_map/wiki)

[Багтрекер](https://github.com/v00g100skr/ukraine_alarm_map/issues)
[Багтрекер](https://github.com/J-A-A-M/ukraine_alarm_map/issues)

[Питання та пропозиції](https://github.com/v00g100skr/ukraine_alarm_map/discussions)
[Питання та пропозиції](https://github.com/J-A-A-M/ukraine_alarm_map/discussions)

-->> [FLASHER](https://flasher.alerts.net.ua/) <<-- (тут можна залити свіжу прошивку прямо з браузера!)

-->> [ТЕЛЕГРАМ КАНАЛ ПРОЕКТУ](https://t.me/jaam_project) <<--

-->> [ПОРТАЛ ДАНИХ](http://alerts.net.ua) <<--

Прошивка використовує бібліотеку **_NeoPixelBus_** (останню версію брати [тут](https://github.com/Makuna/NeoPixelBus))
Прошивка використовує бібліотеку **_FastLED_**

Прошивка використовує _**async**_ в роботі, що дозволяє запускати декілька процесів одночасно і швидше реагувати на зміни

Прошивка використовує _**власний сервер даних**_ [alerts.net.ua](http://alerts.net.ua/) для отримування даних про тривоги і погоду
Прошивка використовує _**власний сервер даних**_ [alerts.net.ua](http://alerts.net.ua/) для отримування даних про тривоги, вибухи та погоду

Прошивка використовує _**Websockets**_ для коннекта з сервером даних, що дозволяє майже миттєво отримувати оновлення даних
Прошивка використовує _**Websockets**_ для звʼязку із сервером даних, що дозволяє майже миттєво отримувати оновлення

### Прошивка має такі можливості:
- режим відображення повітряних тривог на базі офіційного API https://www.ukrainealarm.com/
- режим відображення погоди за даними сайту https://openweathermap.org/
- режим прапора України
- режим випадкових кольорів
- режим лампи
- режим настільної лампи
- режим offline - мапа не відображає нічого

В режим тривог також є візуальна інформація про вибухи в регіонах
В режимі тривог також є візуальна інформація про вибухи в регіонах

### Для отримання даних не треба мати ключі для API тривог або openweathermap - все вже є в нашому API

Мапа може бути обладнана _**дисплеєм**_ (128 * 32 SSD1306 та 128 * 64 SSD1306).
Мапа може бути обладнана _**дисплеєм**_ SPI OLED моделей SSD1306, SH1106G або SH1107 роздільністю 128 * 32 чи 128 * 64.

### Режим дисплея вмикається окремо через налаштування:
- поточний час
Expand All @@ -54,7 +56,7 @@
- також є сервісні сповіщення при старті мапи, при проблемних ситуаціях з мапою та процессі перемикання режимів

### Мапа має _**вбудований web-сервер**_
для керування налаштуваннями. Сторінка керування знаходиться за адресою [alarmmap.local](http://alarmmap.local) (або по IP). Також доступна сервісна сторінка [alarmmap.local:8080](http://alarmmap.local:8080), де можна змініти WiFi налаштуванння, перезавантажити мапу або перепрошити, якшо у вас є готовий зібраний файл прошивки і ви не хочете використовувати Arduino IDE
для керування налаштуваннями. Сторінка керування знаходиться за адресою [alarmmap.local](http://alarmmap.local) (або по IP). Також доступна сервісна сторінка [alarmmap.local:8080](http://alarmmap.local:8080), де можна змінити WiFi налаштуванння, перезавантажити мапу або перепрошити, якшо у вас є готовий зібраний файл прошивки і ви не хочете використовувати Arduino IDE

### Всі _**налаштування зберігаються у внутрішній пам'яті**_
Відновлюються після перезавантаження та після перепрошивки мапи (якшо не вказувати примусове очищення)
Expand All @@ -64,7 +66,10 @@ HA бачить мапу як окремий прилад розумного б

### Мапа може бути обладнана _**сенсорною кнопкою**_ ttp223 (на платі jaam кнопка вже є)
Є підтримка довгого натиснення на кнопку - можна встановити додатковий режим
Кнопка дозволяє перемикати всі наявні режими в мапі:

Можна використовувати до двох кнопок

Кнопки дозволяють перемикати всі наявні режими мапи:
- саму мапу (тривога, погода, прапор, лампа, вимкнено)
- дисплей (годинник, погода, тех. інформація, мікроклімат (при наявності датчика температури/вологості), вимкнено)

Expand Down Expand Up @@ -96,22 +101,25 @@ HA бачить мапу як окремий прилад розумного б
- Зоряні війни
- Імперський марш
- Зоряний шлях
- ]Індіана Джонс
- Індіана Джонс
- Назад у майбутнє
- Kiss - I Was Made
- Русалонька
- Nokia tune
- Пакмен
- Щедрик
- Іксмен
- Месники

[Детальніше тут](https://github.com/v00g100skr/ukraine_alarm_map/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D1%96%D0%BA-(buzzer))
[Детальніше тут](https://github.com/J-A-A-M/ukraine_alarm_map/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D1%96%D0%BA-(buzzer))

### Мапа може бути обладнана _**кліматичним датчиком**_
Прошивка підтримує наступні сенсори: BME280*/BMP280, сімейство сенсорів SHT3x (SHT30*, SHT31, SHT35, SHT85), а також сімейство сенсорів SHT2x (SHT20, SHT21, SHT25, HTU20*, HTU21, Si7021). Сенсори відмічені зірочкою (*) тестувались разом з прошивкою, підтримка інших сенсорів зі списку вище теоретично можлива, але не перевірялась.

### Мапа може бути обладнана _**сенсором освітлення**_
Це може бути цифровий сенсор BH1750 або аналоговий фоторезитор

[Детальніше тут](https://github.com/v00g100skr/ukraine_alarm_map/wiki/%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80-%D0%BE%D1%81%D0%B2%D1%96%D1%82%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F)
[Детальніше тут](https://github.com/J-A-A-M/ukraine_alarm_map/wiki/%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80-%D0%BE%D1%81%D0%B2%D1%96%D1%82%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F)

### Мапа підтримує певний рівень кастомізацій:
- загальна яскравість
Expand All @@ -134,11 +142,11 @@ HA бачить мапу як окремий прилад розумного б
### Якщо нова прошивка доступна, то мапа може оновлювати прошивку через веб інтерфейс або кнопкою (при її наявності)


[![CodeQL](https://github.com/v00g100skr/ukraine_alarm_map/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/v00g100skr/ukraine_alarm_map/actions/workflows/github-code-scanning/codeql)
[![CodeQL](https://github.com/J-A-A-M/ukraine_alarm_map/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/J-A-A-M/ukraine_alarm_map/actions/workflows/github-code-scanning/codeql)

[![GitHub version](https://img.shields.io/github/release/v00g100skr/ukraine_alarm_map.svg)](https://github.com/v00g100skr/ukraine_alarm_map/releases/latest)
[![GitHub commits](https://img.shields.io/github/commit-activity/t/v00g100skr/ukraine_alarm_map.svg)](https://github.com/v00g100skr/ukraine_alarm_map/commits/master)
[![GitHub issues](https://img.shields.io/github/issues/v00g100skr/ukraine_alarm_map.svg)](https://github.com/v00g100skr/ukraine_alarm_map/issues)
[![GitHub version](https://img.shields.io/github/release/J-A-A-M/ukraine_alarm_map.svg)](https://github.com/J-A-A-M/ukraine_alarm_map/releases/latest)
[![GitHub commits](https://img.shields.io/github/commit-activity/t/J-A-A-M/ukraine_alarm_map.svg)](https://github.com/J-A-A-M/ukraine_alarm_map/commits/master)
[![GitHub issues](https://img.shields.io/github/issues/J-A-A-M/ukraine_alarm_map.svg)](https://github.com/J-A-A-M/ukraine_alarm_map/issues)
[![GitHub Clones](https://img.shields.io/badge/dynamic/json?color=success&label=Clone&query=count&url=https://gist.github.com/v00g100skr/3834111d448e497c81a139b69756835c/raw/clone.json&logo=github)](https://github.com/MShawon/github-clone-count-badge)


Expand Down
4 changes: 3 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
| 3.2 | :x: |
| 3.3 | :x: |
| 3.4 | :x: |
| 3.5 | :white_check_mark: |
| 3.5 | :white_check_mark: |
| 3.6 | :white_check_mark: |
| 3.7 | :white_check_mark: |
| 3.8 | :white_check_mark: |
| 3.9 | :white_check_mark: |
| 3.10 | :white_check_mark: |
Binary file removed bin_beta/3.10-b70.bin
Binary file not shown.
Binary file renamed bin_beta/3.10.bin → bin_beta/3.11-b71.bin
Binary file not shown.
Binary file added bin_beta/3.11-b72.bin
Binary file not shown.
Binary file added bin_beta/4.0-b24.bin
Binary file not shown.
Binary file removed bin_beta/latest_beta.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion deploy/alerts/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
aiohttp==3.10.2
aiohttp==3.10.11
aiomcache==0.8.1
2 changes: 1 addition & 1 deletion deploy/etryvoga/etryvoga.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ async def explosions_data(mc):
explosions_cached_data["states"][region_name] = region_data
case "ROCKET" | "ROCKET_FIRE":
rockets_cached_data["states"][region_name] = region_data
case "DRONE":
case "DRONE" | "RECON_DRONE":
drones_cached_data["states"][region_name] = region_data
case _:
pass
Expand Down
Loading

0 comments on commit 8cb2954

Please sign in to comment.