# Jak działa aktualizacja Asystenta domowego - Opis techniczny

**URL:** <https://ai-speaker.discourse.group/t/jak-dziala-aktualizacja-asystenta-domowego-opis-techniczny/691>\
**Category:** faq\
**Created:** [7 Wrzesień 2020 07:24 UTC](https://ai-speaker.discourse.group/t/jak-dziala-aktualizacja-asystenta-domowego-opis-techniczny/691 "2020-09-07T07:24:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

Autor: ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
Data publikacji: [7 Wrzesień 2020 07:24 UTC](https://ai-speaker.discourse.group/t/jak-dziala-aktualizacja-asystenta-domowego-opis-techniczny/691/1 "2020-09-07T07:24:39Z")

</div>

# Opis jak działa aktualizacja systemu Asystent domowy

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/c/cacc3bb7f0bc8c2c4e4e8dfc494b02ec4947ca91.png)

# System Asystent domowy ma kilka warstw, które okresowo aktualizujemy:

## 1. Linux

w tym kroku aktualizujemy pakiety binarne z naszego repozytorium, sprowadza się to do 2 komend:

```auto
apt update
apt upgrade

```

oraz, jeżeli trzeba, uruchamiamy skrypty w języku bash.

Technicznie to, co jest uruchamiane podczas tego kroku aktualizacji, napisane jest głównie w języku C / C++:

> [@Hello.c Przykład najprostszego programu w C](https://ai-speaker.discourse.group/t/hello-c-przyklad-najprostszego-programu-w-c/395):
>
> Przykład najprostszego programu w C Opiszę, jak skompilować program w C bezpośrednio na bramce, a następnie uruchomić go z Asystenta domowego. Tworzymy folder z programami cd AIS/ mkdir programs cd programs Dodajemy nowy plik z kodem cd ~/AIS/programs nano hello.c Kod programu: #include \<stdio.h\> int main(void) { printf("Hello\n"); return 0; } Kompilujemy nasz program clang hello.c Uruchamiamy skompilowaną wersję ./a.out Uruchamiamy program z Asystenta domoweg…

lub jest skryptem powłoki:

> [@Hello.sh, Bash, Konsola w aplikacji - interpreter poleceń na bramce](https://ai-speaker.discourse.group/t/hello-sh-bash-konsola-w-aplikacji-interpreter-polecen-na-bramce/404):
>
> Bash, Konsola w aplikacji - interpreter poleceń na bramce Opiszę, jak dodać skrypt powłoki bash, a następnie uruchomić go z Asystenta domowego. Celem tego opisu jest pokazanie, w jaki sposób można dodać na bramce własny skrypt, a następnie wykonać go z automatyzacji. W ten sposób można zrobić własny backup co określony czas, czy wywołać co tylko chcemy z innych naszych programów - generalnie wszystko, czego nam brakuje na bramce, a bardzo chcemy to mieć. Konsola Konsola dostępna w aplikacji…

## 2. Android

w tym kroku aktualizujemy aplikację systemu Android, robią to tego typu komendy (pobranie i instalacja aplikacji na bramce):

```auto
curl -o "/data/data/pl.sviete.dom/files/usr/tmp/AisPanelApp.apk" -L https://powiedz.co/ota/android/AisPanelApp.apk
su -c "pm install -r /data/data/pl.sviete.dom/files/usr/tmp/AisPanelApp.apk"

```

Technicznie to, co jest uruchamiane podczas tego kroku aktualizacji, napisane jest w języku Java lub Kotlin. Tu są kody naszych aplikacji:

> **[GitHub - sviete/AIS-dom: This is our main application that works both on...](https://github.com/sviete/AIS-dom)**
>
> This is our main application that works both on the gateway and on other devices including: tablets, phones, Android TV.

a w serwisie OTA są gotowe kompilacje podpisane stosownymi kluczami: [https://powiedz.co/ota/](https://powiedz.co/ota/)

## 3. Home Assistant

w tym kroku aktualizujemy aplikację Home Assistant, za pomocą tego typu komendy:

```auto
pip install ais-dom -U

```

Technicznie to, co jest uruchamiane podczas tego kroku aktualizacji, napisane jest w języku Python:

> [@Hello.py Przykład najprostszego programu w Python](https://ai-speaker.discourse.group/t/hello-py-przyklad-najprostszego-programu-w-python/401):
>
> Przykład najprostszego programu w Python Opiszę, jak dodać program w języku Python, a następnie uruchomić go z Asystenta domowego. Tworzymy folder z programami (jeżeli jeszcze go nie mamy) cd AIS/ mkdir programs cd programs Dodajemy nowy plik z naszym pierwszym kodem cd ~/AIS/programs nano hello.py Kod programu: print("Hello Jolka") [image] Uruchamiamy program python hello.py Interpreter Python na bramce Język Python jest interpretowany, dlatego nie kompilujemy kodu do kodu ma…

## 4. Zigbee

w tym kroku aktualizujemy aplikację Zigbee w sposób opisany tu:

> [@honeybee zigbee2mqtt opis techniczy + instrukcja ręcznej instalacji / aktualizacji](https://ai-speaker.discourse.group/t/zigbee2mqtt-opis-techniczy-instrukcja-recznej-instalacji-aktualizacji/642):
>
> honeybee Opis techniczny działania zigbee2mqtt na bramce AIS dom zigbee2mqtt to program napisany w serwerowym JavaScript → node.js Czym jest node.js opisujemy tu: [https://ai-speaker.discourse.group/t/srodowiska-programistyczne-dostepne-na-bramce/380](https://ai-speaker.discourse.group/t/srodowiska-programistyczne-dostepne-na-bramce/380) tu jest też opis jak napisać pierwszy własny program w node.js [https://ai-speaker.discourse.group/t/hello-js-przyklad-najprostszego-programu-w-node-js/402](https://ai-speaker.discourse.group/t/hello-js-przyklad-najprostszego-programu-w-node-js/402)Lokalizacja zigbee2mqtt na bramce zigbee2mqtt znajduje się na bramce w katalogu domowym …

Technicznie to, co jest uruchamiane podczas tego kroku aktualizacji, napisane jest w języku JavaScript / Node.js:

> [@Hello.js Przykład najprostszego programu w Node.js](https://ai-speaker.discourse.group/t/hello-js-przyklad-najprostszego-programu-w-node-js/402):
>
> Przykład najprostszego programu w Node.js Opiszę, jak dodać program w języku Node.js, a następnie uruchomić go z Asystenta domowego. Tworzymy folder z programami (jeżeli jeszcze go nie mamy) cd AIS/ mkdir programs cd programs Dodajemy nowy plik z naszym pierwszym kodem cd ~/AIS/programs nano hello.js Kod programu: var http = require('http'); console.log('Serwer na porcie 8080'); console.log('Naiśnij Ctrl+c żeby zatrzymać'); http.createServer(function (req, res) { res.writeHead(200, {'Con…

* * *

## Jak widać w poszczególnych warstwach systemu działają różne technologie/języki.

Na bramce **DEV** dostępne są środowiska programistyczne, dzięki czemu nie tylko można uruchamiać gotowe programy, ale też pisać i uruchamiać własne programy bezpośrednio na urządzeniu. Więcej szczegółów:

> [@Środowiska programistyczne dostępne na bramce](https://ai-speaker.discourse.group/t/srodowiska-programistyczne-dostepne-na-bramce/380):
>
> Środowiska programistyczne dostępne na bramce Na bramce DEV dostępne są środowiska programistyczne, dzięki czemu nie tylko można uruchamiać gotowe programy ale też pisać i uruchamiać własne programy bezpośredion na urządzeniu. desktop_computer Bramka AIS dom w wersji DEV może być używana tworzenia oprogramowania, edukacji informatycznej i eksperymentów. W kategorii Programowanie umieścimy kilka postów z informacjami o tym, jak zacząć programowanie na bramce. Skupimy się na językach w któryc…

Na bramce DEV można tworzyć / instalować programy w 4 najbardziej popularnych językach na świecie:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/7/776a2f66058fed567089010ef22c64a55f191f08.png)

---

<div class="post-metadata">

Autor: ![Akszyn](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/akszyn/32/4038_2.png) [@Akszyn](https://ai-speaker.discourse.group/u/Akszyn)\
Data publikacji: [31 Styczeń 2021 20:51 UTC](https://ai-speaker.discourse.group/t/jak-dziala-aktualizacja-asystenta-domowego-opis-techniczny/691/2 "2021-01-31T20:51:01Z")

</div>

po wpisaniu tej komendy

> [@jolka](#):
>
> w tym kroku aktualizujemy aplikację systemu Android

mam na środku napis connection closed ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/4/46ea4ecc448198308b528f401543f9c24465a73d.png)  
I nie mogę sie połączyć z bramką od kilku minut ale jak odłączyłem ja od pradu i podłączyłem ponownie to wszystko wróciło do normy
