-
Postów
2 750 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Blogi
Wydarzenia
Galeria
Pliki
Sklep
Articles
Market
Community Map
Treść opublikowana przez r.ziomber
-
Rozpoczalem pisanie prostej aplikacji astronomicznej na urzadzenia mobilne. Czy moglbym pilnie* prosic Was o sugeste funkcjonalnosci, ktorej potrzebujecie na swoich telefonach? Zaznaczam, ze jestem w tej materii bardzo poczatkujacy i nie wymagajcie prosze ode mnie np obslugi kamer CCD i autoguidingu Obecna funkcjonalnosc: - obsluga GoTo teleskopu za posrednictwem przystawki Bluetooth do pilota. Umozliwia ustawienie czasu i wspolrzednych teleskopu dzieki pomocy GPS w telefonie. Pozwala rowniez na wpisanie wspolrzednych obiektow, ktorych nie ma w bazie pilota. - obsluga interwalometru do lustrzanki cyfrowej z Bluetooth. Opis sprzetu symulujacego wezyk spustowy, z ktorym laczy sie program: https://sourceforge.net/projects/arduino-dslr-remote-controller/ - kalkulator astrofotograficzny / obserwacyjny https://pl.wikipedia.org/wiki/Astrofotografia#Wzory_przydatne_w_astrofotografii - slider chwilowo sluzy jedynie zabawie. Po przerobkach byc moze ta karta obslugiwac bedzie np motofocus teleskopu. Korzystam z "lamerskiego" i niezalecanego srodowiska Apache Cordova (PhoneGap), ale mam ku temu kilka powodow. Dolaczam biblioteke do komunikacji szeregowej poprzez Bluetooth https://github.com/don/BluetoothSerial (*) Niestety mam niewiele czasu na napisanie, gdyz do testow uzywam telefonu pozyczonego od kolegi, ktory jest wystawiony na sprzedaz (telefon, nie kolega). Moja prehistoryczna Motorola Milestone z Androidem 2.2 nie spelnia minimalnych wymagan.
-
Chyba lepiej po prostu zainstalowac Linuksa i https://www.indilib.org https://www.indilib.org/about/ekos.html
-
Testowalem na Raspberry Pi. To Python, wiec bedzie dzialac na wszystkim ;-)
-
Odleglosc s = 300m srednica przestrzeliny l = 0.00556m srednica katowa = 2*arctan(0.5*l/s) = 2*arctan(0.5*0.00556/300) = 0.001° = 3.8" https://pl.wikipedia.org/wiki/Kryterium_Rayleigha r = 143/70 = 2" Hipotetycznie sie da. Pewnie jednak wiekszy teleskop sprawi sie do tego celu o wiele lepiej.
-
Szybki test jakości nieba
r.ziomber odpowiedział(a) na Dementorin temat w Społeczność AP (Rozmowy o wszystkim)
Sky Quality Meter mozna zrobic w miare latwo samemu. Niestety moj jest jeszcze nieskalibrowany z fabrycznym modelem. -
Ruch własny gwiazd - astrofotografia wysokiej rozdzielczości
r.ziomber odpowiedział(a) na HAMAL temat w Głęboki Kosmos (DS)
Gwiazda Barnarda to chyba jeden z najciekawszych obiektow do podjecia prob rejestracji paralaksy. http://pergelator.blogspot.com/2013/07/barnards-star.html -
Astroforum, grupa Facebook.
r.ziomber odpowiedział(a) na Kamalaika temat w Dyskusje o astrofotografii
Najwieksza bolaczka grup FB jest prawie zerowe indeksowanie przez Google. Sama wyszukiwarka FB jest tez mocno kulawa (czasem nawet nie znajduje potrzebnych materialow archiwalnych). Zamieszczanie tam cenniejszych informacji jest nieodpowiednie, bo nie zapewnia dostepu do nich przez wyszukiwarke. No i jest juz multum grup poswieconych astronomii, po co tworzyc kolejne?- 8 odpowiedzi
-
- 1
-
- astroforum
-
(i 2 więcej)
Oznaczone tagami:
-
Troche OT. Obsluga Dynamic DNS https://freedns.42.pl dla ESP8266 napisana w Arduino. Zastosowanie: ESP caly czas monitoruje obserwatorium i w razie potrzeby zdalnie uruchamia komputer czy Raspberry Pi. Przy okazji dba tez o uaktualnienie IP rekordu A naszej domeny. #include <ESP8266HTTPClient.h> #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> struct FreeDNSsettings { String domain; String subdomain; String newaddress; String user; String password; String ttl; } dnsset; void setup() { dnsset.domain = ""; dnsset.subdomain = ""; dnsset.user = ""; dnsset.password = ""; dnsset.ttl = "120"; Serial.begin(9600); //Serial connection WiFi.begin("Ssid", "password"); //WiFi connection while (WiFi.status() != WL_CONNECTED) { //Wait for the WiFI connection completion delay(500); Serial.println("Waiting for connection"); } } void loop() { if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status String myIP = publicIP(); String hostIP = gethostbyname(dnsset.subdomain + "." + dnsset.domain); if (myIP != hostIP) { dnsset.newaddress = myIP; updateDynDNS(); Serial.println(hostIP); } } else { Serial.println("Error in WiFi connection"); } delay(15 * 60 * 1000); } String publicIP() { String myIP; HTTPClient http; http.begin("http://ip.42.pl/raw"); //Specify request destination int httpCode = http.GET(); //Send the request if (httpCode > 0) { //Check the returning code myIP = http.getString(); //Get the request response payload } return myIP; } String gethostbyname(String host) { IPAddress ipAddress; WiFi.hostByName(host.c_str(), ipAddress); return String(ipAddress[0]) + String(".") + \ String(ipAddress[1]) + String(".") + \ String(ipAddress[2]) + String(".") + \ String(ipAddress[3]); } void updateDynDNS() { String xml = "<?xml version='1.0'?>\r\n" "<methodCall>\r\n" "<methodName>xname.updateArecord</methodName>\r\n" "<params>\r\n" "<param>\r\n" "<value><struct>\r\n" "<member>\r\n" "<name>name</name>\r\n" "<value><string>" + dnsset.subdomain + "</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>zone</name>\r\n" "<value><string>" + dnsset.domain + "</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>newaddress</name>\r\n" "<value><string>" + dnsset.newaddress + "</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>oldaddress</name>\r\n" "<value><string>*</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>updatereverse</name>\r\n" "<value><string>0</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>user</name>\r\n" "<value><string>" + dnsset.user + "</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>ttl</name>\r\n" "<value><string>" + dnsset.ttl + "</string></value>\r\n" "</member>\r\n" "<member>\r\n" "<name>password</name>\r\n" "<value><string>" + dnsset.password + "</string></value>\r\n" "</member>\r\n" "</struct></value>\r\n" "</param>\r\n" "</params>\r\n" "</methodCall>"; String http = "POST /xmlrpc.php HTTP/1.1\r\n" "Host: freedns.42.pl\r\n" "Accept-Encoding: gzip\r\n" "Content-Type: text/xml\r\n" "User-Agent: Python-xmlrpc/3.5\r\n" "Content-Length: " + String(xml.length()) + "\r\n" "\r\n"; xml = http + xml; WiFiClientSecure client; IPAddress ipAddress; WiFi.hostByName("freedns.42.pl", ipAddress); client.connect(ipAddress, 443); client.print(xml); }
-
W tym miejscu warto przypomniec miniserial sprzed 20. lat: https://en.wikipedia.org/wiki/From_the_Earth_to_the_Moon_(miniseries)
- 41 odpowiedzi
-
https://github.com/gradyh/ISS-Tracking-Pointer https://en.wikipedia.org/wiki/Simplified_perturbations_models https://github.com/hazrmard/SatTrack
-
Oprogramowanie Nikon D3100
r.ziomber odpowiedział(a) na DaleCooper temat w Dyskusje o astrofotografii
Podobno gphoto2 obsluguje. http://www.gphoto.org/doc/remote/ -
Raspberry Pi 3B+ https://indilib.org/support/tutorials/139-indi-library-on-raspberry-pi.html https://indilib.org/devices/rasbperry-pi/astroberry-server.html
-
Czy potrzebny wężyk spustowy?
r.ziomber odpowiedział(a) na lukas1 temat w Dyskusje o astrofotografii
Mozesz tez samodzielnie zrobic bezprzewodowy (WiFi/Bluetooth) wezyk spustowy z interwalometrem ;-) https://sourceforge.net/projects/arduino-dslr-remote-controller/ -
Gdybys uzywal Linuksa, polecilbym gphoto2 http://gphoto.org Dokladniej libgphoto2 http://www.gphoto.org/proj/libgphoto2/
-
Łapszanka, Małopolskie - czy ktoś jest w pobliżu?
r.ziomber odpowiedział(a) na McGoris temat w Spotkania, zloty i imprezy
Rabka-Zdroj Niestety jedyna znana mi ciemna lokalizacja sa popularne Kudlacze. -
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino
-
Tez mam RS-232 dostepne po WIFi, tylko w o wiele bardziej "mlotkowej" formie ;-) http://techtinkering.com/2013/04/02/connecting-to-a-remote-serial-port-over-tcpip/ a
-
Okresowe wołanie funkcji w Arduini
r.ziomber odpowiedział(a) na Behlur_Olderys temat w ATM, DIY, Arduino
Przy okazji millis() mozna sobie samemu "przekrecic". Dla ATmega328P dodaj do setup() extern volatile unsigned long timer0_millis; noInterrupts(); timer0_millis += 4294963295; interrupts(); i bedziesz mial 4 s do przekroczenia zakresu unsigned long. Przy okazji przydatne, jesli chcemy korygowac millis() o czas uspienia kontrolera i nie bawic sie w podmiane millis() na actualMillis() we wszystkich plikach. unsigned long actualMillis() { return millis() + sleepCorrection; } -
Zasilanie montażu i kamery z samochodu
r.ziomber odpowiedział(a) na Sebo_b temat w ATM, DIY, Arduino
http://www.wojio.b4.pl/filtr.htm -
https://arxiv.org/pdf/1610.00693.pdf "These PSF models are created for telescope focus values in the range −10μm to +5μm at one micron increments, thus spanning the allowed range of telescope focus values. We then use the approximately ten well measured stars in each COSMOS field to pick the best-fit focus value for each field." https://arxiv.org/pdf/astro-ph/0702140.pdf
-
Raczej https://en.wikipedia.org/wiki/Point_spread_function#The_PSF_in_astronomy
-
Okresowe wołanie funkcji w Arduini
r.ziomber odpowiedział(a) na Behlur_Olderys temat w ATM, DIY, Arduino
STM32! https://github.com/stm32duino https://www.aliexpress.com/item/1pcs-STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-raspberry-raspberri-pi-2-watch-nmd-diy/32786765274.html A ESP32 jest dwurdzeniowe i mozna jeden rdzen poswiecic na timer. https://groups.google.com/forum/#!topic/pl.misc.elektronika/K3eQYMWwdf4 -
Okresowe wołanie funkcji w Arduini
r.ziomber odpowiedział(a) na Behlur_Olderys temat w ATM, DIY, Arduino
Jest pare bibliotek. Przypuszczam jednak, ze beda miec istotny narzut, dlatego cuduje realloc z C. Przyznaje jednak, ze nie testowalem ich wplywu na wydajnosc. https://github.com/maniacbug/StandardCplusplus https://www.arduinolibraries.info/libraries/arduino-stl https://github.com/zacsketches/Arduino_Vector -
Okresowe wołanie funkcji w Arduini
r.ziomber odpowiedział(a) na Behlur_Olderys temat w ATM, DIY, Arduino
Czy moge prosic o weryfikacje? Zamiast proponuje #include <limits.h> // constructor nextCall = now() + interval; //active loop if ( nextCall < now() && now() - nextCall < ULONG_MAX / 2 ) { nextCall += interval; callWhatever(); } Powod: przedzial czasu obejmujacy przekroczenie zakresu zmiennej. now() bedzie wtedy olbrzymie a nextCall male. Warunek nextCall < now() zostanie wiec spelniony. Standardowe rozwiazanie https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay nie sprawia klopotow z overflow, ale kumuluje opoznienie kolejnych krokow. -
Okresowe wołanie funkcji w Arduini
r.ziomber odpowiedział(a) na Behlur_Olderys temat w ATM, DIY, Arduino
Ale Arduino bez dodatkowych bibliotek nie obsluguje std::vector (w ogole STD) i stad takie mieszanie C++ z C. https://github.com/maniacbug/StandardCplusplus Zadanie "doczesne" przechowuje jedynie informacje o interwale. Wykonywane kilka razy dodatkowo musi miec informacje o ilosci cykli i "poczekalni" przed pierwszym wykonaniem. Ale ja oczekuje krytyki! Chce sie uczyc od zawodowych programistow i doskonalic swoje znikome umiejetnosci. Jesli tylko masz czas napisac, z checia wyslucham, co zrobilem zle! Mam jeszcze glupi pomysl, o ktory byc moze rozbuduje swoj timer. Terminarz oparty na... delay(). No dobra, nie na delay(), a na uspijMikrokontroler(), ale w zewnetrznym zachowaniu to prawie to samo Po prostu znajde najblizsze zadanie w tabelicach time i timeET i do tego czasu uspie mikrokontroler. Bedzie to dodatkowa opcja, bo oczywiscie nienadajaca sie do kazdego projektu. PS. Ktos kiedys powiedzial, ze na delay() nie da sie zrobic wielozadaniowosci. Dlatego tez chce ja zrobic