<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programowanie on Techniczny</title><link>https://blog-techniczny.pl/categories/programowanie/</link><description>Recent content in Programowanie on Techniczny</description><generator>Hugo</generator><language>pl-PL</language><lastBuildDate>Sat, 31 Dec 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://blog-techniczny.pl/categories/programowanie/index.xml" rel="self" type="application/rss+xml"/><item><title>Otwieranie bramy przez Android Auto i dużo więcej</title><link>https://blog-techniczny.pl/2022/12/31/otwieranie-bramy-przez-android-auto-i-duzo-wiecej/</link><pubDate>Sat, 31 Dec 2022 00:00:00 +0000</pubDate><guid>https://blog-techniczny.pl/2022/12/31/otwieranie-bramy-przez-android-auto-i-duzo-wiecej/</guid><description>&lt;p&gt;Nie jest tajemnicą, że otwieranie bramy pilotem jest bardzo wygodne. Są natomiast sytuacje, kiedy możliwość sterowania z poziomu Android Auto lub Asystenta Google jest bardzo pomocna. A skoro jest taka możliwość, to może warto o niej napisać. Tym bardziej, że po drodze można się trochę nauczyć o MQTT, Node Red czy innych technologiach.&lt;/p&gt;&#10;&lt;figure&gt;&#10;&lt;p&gt;&lt;img src="https://blog-techniczny.pl/2022/12/31/otwieranie-bramy-przez-android-auto-i-duzo-wiecej/images/android-auto-brama-1024x682.jpg" alt="" /&gt;&#10;&lt;/p&gt;&#10;&lt;figcaption&gt;&#10;&lt;p&gt;Otwieranie bramy przez Android Auto&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;/figure&gt;</description></item><item><title>Monitorowanie wejść i wyjść centrali Satel Integra w Node.js</title><link>https://blog-techniczny.pl/2016/01/10/monitorowanie-wejsc-i-wyjsc-centrali-satel-integra-w-node-js/</link><pubDate>Sun, 10 Jan 2016 00:00:00 +0000</pubDate><guid>https://blog-techniczny.pl/2016/01/10/monitorowanie-wejsc-i-wyjsc-centrali-satel-integra-w-node-js/</guid><description>&lt;p&gt;Pisałem ostatnio o &lt;a href="https://blog-techniczny.pl/2016/01/07/integracja-satel-integra-z-raspberry-pi/"&gt;połączeniu Raspberry Pi z Integrą&lt;/a&gt;&#10; produkcji Satela z użyciem interfejsu szeregowego. Przyszła pora, żeby napisać coś więcej o tym przedsięwzięciu od strony programowania - zarówno samej centrali alarmowej, jak i Raspberry Pi - w Node.js, bo jego używa obecnie główna część mojego &amp;ldquo;inteligentnego domu&amp;rdquo;. Node.js świetnie nadaje się do obsługi systemu opartego na zdarzeniach, ale oczywiście każdy może przełożyć zamieszczony tu kod na swój ulubiony język.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://blog-techniczny.pl/2016/01/10/monitorowanie-wejsc-i-wyjsc-centrali-satel-integra-w-node-js/images/ca64e.jpg"&gt;&lt;img src="https://blog-techniczny.pl/2016/01/10/monitorowanie-wejsc-i-wyjsc-centrali-satel-integra-w-node-js/images/ca64e.jpg" alt="Ekspander wejść Satel CA64E" /&gt;&#10;&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Tytuł wpisu wyraźnie wskazuje na to, że będziemy monitorować także wejścia, tymczasem &lt;a href="http://www.satel.pl/pl/download/instrukcje/int-rs_op_int_2.13.pdf"&gt;opis protokołu&lt;/a&gt;&#10; opublikowany przez Satela wskazuje, że łatwo możemy dostać się wyłącznie do stanu wyjść (przez komendę 0x17). Oczywiście to żaden problem, ponieważ centrala pozwala definiować wirtualne wyjścia, których stan zależy od stanu wejść (czyli np. czujek ruchu). Możemy więc na bieżąco mieć podgląd wszystkich czujek (w końcu system automatyki domowej ma swoje &amp;ldquo;oczy&amp;rdquo;), ale też sprawdzać wiele więcej - stan zasilania, akumulatora, uzbrojenia i wywołania alarmu, sabotażu, przyciśnięci przycisków w pilotach ABAX, rozpoczęcie odliczania czasu na wyjście, alarmy wstępne, itp.&lt;/p&gt;</description></item><item><title>Wielozadaniowość w Arduino?</title><link>https://blog-techniczny.pl/2012/04/07/wielozadaniowosc-w-arduino/</link><pubDate>Sat, 07 Apr 2012 00:00:00 +0000</pubDate><guid>https://blog-techniczny.pl/2012/04/07/wielozadaniowosc-w-arduino/</guid><description>&lt;p&gt;&lt;a href="https://blog-techniczny.pl/2012/03/20/arduino-co-to-takiego/"&gt;Programowanie Arduino&lt;/a&gt;&#10; jest bardzo proste. Do takiego wniosku można dojść obserwując najprostsze przykłady programów. Spójrzmy chociażby na, prezentowany już wcześniej, program mrugający diodą podłączoną do wyjścia numer 13. Dla łatwiejszych dalszych rozważań został on jeszcze trochę uproszczony:&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;#define LED1 13&#10;&#10;void setup() { &#10;  pinMode(LED1, OUTPUT); // ustawiamy pin 13 jako wyjście&#10;}&#10;&#10;int led1_state=0; // na początku zmienna będzie 0 (nie świeci)&#10;&#10;void loop() {&#10;  digitalWrite(LED1, led1_state); // ustawiamy stan wyjścia diody zgodnie &#10;                                  // z wartością zmiennej led1_state: &#10;                                  // 1 - świeci, 0 - nie&#10;  delay(1000); // czekamy sekundę&#10;  led1_state=1-led1_state; // zmieniamy stan z 0 na 1 lub z 1 na 0&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Nie ma w nim oczywiście nic wyszukanego - co sekundę zmieniamy stan wyjścia, a co za tym idzie diody świecącej. Przypominam, że 13 została wybrana nieprzypadkowo, ponieważ do tego wyjścia podłączona jest na stałe dioda znajdująca się na płytce Arduino.&lt;/p&gt;</description></item><item><title>Arduino - środowisko programistyczne</title><link>https://blog-techniczny.pl/2012/03/22/arduino-srodowisko-programistyczne/</link><pubDate>Thu, 22 Mar 2012 00:00:00 +0000</pubDate><guid>https://blog-techniczny.pl/2012/03/22/arduino-srodowisko-programistyczne/</guid><description>&lt;p&gt;O tym, co to jest Arduino i dlaczego mi się podoba, pisałem w &lt;a href="https://blog-techniczny.pl/2012/03/20/arduino-co-to-takiego/"&gt;poprzednim poście&lt;/a&gt;&#10;. Teraz przyszła kolej, żeby wspomnieć o sednie całej zabawy - środowisku programistycznym. Wszak to między innymi dzięki łatwości programowania Arduino jest tak interesujące dla &amp;ldquo;przeciętnego człowieka&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://blog-techniczny.pl/2012/03/22/arduino-srodowisko-programistyczne/images/arduino_ide.png" title="Arduino IDE"&gt;&lt;img src="https://blog-techniczny.pl/2012/03/22/arduino-srodowisko-programistyczne/images/arduino_ide.png" alt="" title="Arduino IDE" /&gt;&#10;&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Programy dla Arduino tworzy się w języku opartym na platformie &lt;a href="http://wiring.org.co/"&gt;Wiring&lt;/a&gt;&#10; i przypomina bardzo uproszczone narzecze C/C++. Jakkolwiek mało przyjaźnie by to mogło zabrzmieć, oznacza ni mniej, ni więcej, że każda osoba mająca jakieś, choćby minimalne doświadczenie w języku C (a tak naprawdę jakimkolwiek języku programowania), po przeczytaniu krótkiego poradnika, szybko zacznie pisać proste programy. Ich konstrukcja jest wszak bardzo prosta, a masa przykładów, które można znaleźć w sieci, pozwoli szybko rozwiać ewentualne wątpliwości, lub nawet pisać oprogramowanie metodą &amp;ldquo;kopiuj/wklej&amp;rdquo;. Już samo środowisko programistyczne zawiera mnóstwo przykładów o różnym stopniu złożoności, napisanych tak, żeby łatwo je było zrozumieć. Bardzo dobrym punktem startu do nauki programowania będzie &lt;a href="http://arduino.cc/en/Tutorial/HomePage"&gt;tutoral&lt;/a&gt;&#10; ze strony projektu Arduino.&lt;/p&gt;</description></item></channel></rss>