NOWE POSTY | NOWE TEMATY | POPULARNE | STAT | RSS | KONTAKT | REJESTRACJA | Login: Hasło: rss dla

HOME » INNE » FAJNE, INTERNETOWE KURSY PROGRAMOWANIA PO POLSKU

Przejdz do dołu stronyStrona: 1 / 2>>>    strony: [1]2

Fajne, internetowe kursy programowania po Polsku

Kursy programowania i rozwoju osobistego.
  
sp5iou
08.01.2018 19:29:25
poziom 6



Grupa: Użytkownik

QTH: Warszawa

Posty: 1118 #2503835
Od: 2012-9-2
Hej.
Bawię się od dłuższego czasu w różne procesorowe klocki: arduino, Rasberry|Pi, HY-mini...
Zafascynowały mnie wyposażone w dość silne procki moduły WiFi ESP8266, przydatne do sterowania zdalnego poprzez przegladarkę.
No i narodziła się potrzeba nabycia umiejętności w tworzeniu stron www, w dodatku optymalnych co do wielkości kodu.
Poszukałem kursów html, css, php na Youtubie, kilka zacząłem, nie skończyłem bo były nudne i kiepsko wiedza właziła do głowy.

Ale właśnie znalazłem całą serię znakomitych kursów po Polsku, które prowadzi Mirosław Zelent i pod takim hasłem można szukać na Youtubie.

Prowadzi bardzo przystępnie, z pasją, ciekawie. Pan Mirosław, razem z drugim kolegą Damianem Stelmach, prowadzą portal http://pasja-informatyki.pl/, gdzie można znależć kursy i materiały z interesujących dziedzin.
Teraz przerabiam równolegle dwa kursy - HTML i CSS, bo te zagadnienia są bardzo mocno powiązane, ale widzę w katalogu inne kursy programowania: C++, Java Script, PHP, ale również metodyki uczenia się i innych zagadnień przydatnych w każdym wieku.

https://www.youtube.com/results?search_query=miros%C5%82aw+zelent

Warto coś wybrać i poświęcić systematycznie nieco czasu na rozwój własnych umiejętności, a słucha się i ogląda z prawdziwą przyjemnością.

Naprawdę polecam, tylko Uwaga!!! to wciąga i ani się człek nie obejrzy a nocka w pełni.


_________________
73's Marcin.
Warszawa KO02OE, VOT PZK 73
FT991, FT-817ND, IC706, IC735, FT897, IC211E, FT290RII, UNIDEN2020, Motorola MCX100, Radmor FM315K, HM: Piligrim, Kacper 40m, Taurus 40m, IC-7000
Intek HR2040, TM-218, QYT KT-8900 i KT8900D, TYT DM380, RT320. Baofengi UV-5R, UV-B6, UV82. FT-817ND, Radioddity GD-77, TYT DM-9600, TYT DMUV380, Anytone D868UV
IC2KL(500W), LDG600 ProII, LDG11ZPro.
Multiband InVee, GP7DX, Slooper 160m, Lafayette UV300 i uv200, InV L na samochodzie.
((( NIGDY NIE PRZEKRACZAM MOCY LICENCYJNEJ )))
Niema głupich pytań, spotyka się niezbyt mądre odpowiedzi.

  
Electra10.12.2018 01:55:10
poziom 5

oczka
  
sp9uxy
09.01.2018 07:23:47
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Gliwice

Posty: 2003 #2504043
Od: 2009-8-25
    sp5iou pisze:


    Teraz przerabiam równolegle dwa kursy - HTML i CSS, bo te zagadnienia są bardzo mocno powiązane,



Sam html i css to trochę mało, bo jeszcze php, js i jakaś baza danych może być postgresql lub mysql.

C++ bym olał a zainteresował się językiem JAVA. No i oczywiście zostaje do poznania system

operacyjny na którym to wszystko zainstalujesz, najlepiel Linux.
  
sp5iou
09.01.2018 07:51:39
poziom 6



Grupa: Użytkownik

QTH: Warszawa

Posty: 1118 #2504054
Od: 2012-9-2


Ilość edycji wpisu: 3
Tak - na to wszystko są kursy.
Serwerek sobie postawiłem na raspbianie na raspberrypi3 - appache2, php, mysql, ale akurat mnie chodzi o sterowanie przez przeglądarkę za pomocą malutkich płyteczek ESP2866. Do tego tylko trzeba html i CSS, bo php ani mysql na takiej płytce się nie postawi, choć może korzystać z dobrodziejstw innych serwerów - własnych lub tego co w internecie.
Nawet działa: http://sp5iou.homeip.net, o ile mi się neostrada nie wywali. A to się niestety zdarza w moim leśnym qra.

Ale wracając do tematu.
Kursy Pana Sławka są fajne.

_________________
73's Marcin.
Warszawa KO02OE, VOT PZK 73
FT991, FT-817ND, IC706, IC735, FT897, IC211E, FT290RII, UNIDEN2020, Motorola MCX100, Radmor FM315K, HM: Piligrim, Kacper 40m, Taurus 40m, IC-7000
Intek HR2040, TM-218, QYT KT-8900 i KT8900D, TYT DM380, RT320. Baofengi UV-5R, UV-B6, UV82. FT-817ND, Radioddity GD-77, TYT DM-9600, TYT DMUV380, Anytone D868UV
IC2KL(500W), LDG600 ProII, LDG11ZPro.
Multiband InVee, GP7DX, Slooper 160m, Lafayette UV300 i uv200, InV L na samochodzie.
((( NIGDY NIE PRZEKRACZAM MOCY LICENCYJNEJ )))
Niema głupich pytań, spotyka się niezbyt mądre odpowiedzi.

  
SQ5KLN
09.01.2018 08:08:07
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504055
Od: 2012-7-10


Ilość edycji wpisu: 1
    sp9uxy pisze:

      sp5iou pisze:


      Teraz przerabiam równolegle dwa kursy - HTML i CSS, bo te zagadnienia są bardzo mocno powiązane,



    Sam html i css to trochę mało, bo jeszcze php, js i jakaś baza danych może być postgresql lub mysql.

    C++ bym olał a zainteresował się językiem JAVA. No i oczywiście zostaje do poznania system

    operacyjny na którym to wszystko zainstalujesz, najlepiel Linux.


LAMP (Linux+Apache+mySQL+PHP) był dobry w czasach konwencjonalnych hostingów ale obecnie inne rozwiązania (VPS-y, chmury, technologie serverless) stosunkowo szybko tanieją i od PHP-a się powoli odchodzi na rzecz znacznie wydajniejszych i prostszych rozwiązań.

Wszystko zależy od tego po co się ktoś uczy programowania. Najbardziej uniwersalny będzie zbiór technologii określanych mianem HTML5, bo to zarówno webdev (nie tylko frontend w przeglądarce ale i backend na node.js) jak i możliwość pisania "zwyczajnych" aplikacji za pomocą electronJS (lub "ręcznie" jako SPA do odpalania w przeglądarce) a także za pomocą Apache Cordova można pisać apki na Androida (i teoretycznie na iPhone też ale nie sprawdzałem) - do tego wszystkiego wystarcza znajomość HTML+CSS+JS.

Do programowania mikrokontrolerów (małych, typu ATmega, PIC) przyda się C/C++. Do programowania "ogólnego" fajny, prosty i wygodny jest Python (też można używać do webdev czy na nieco mocniejszych mikrokontrolerach lub na przykład na RaspberryPi).

Zastosowanie Javy (nie mylić z JavaScriptem) w praktyce amatorskiej to przede wszystkim pisanie aplikacji na Androida. Poza zastosowaniem tabletowo-smartfonowym Java to raczej język stosowany do "dużych" projektów czyli raczej korpo (do budowy strony WWW też można wykorzystać i w porównaniu z PHP to po prostu zap....ala ale uczenie się Javy tylko pod kątem amatorskiego webdev chyba mija się z celem).
_________________
Piotr
  
SQ5KLN
09.01.2018 08:17:14
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504060
Od: 2012-7-10
    sp5iou pisze:

    php ani mysql na takiej płytce się nie postawi


Bardzo lekki jest serwer nginx (znacznie mniej zasobożerny niż Apache), do większości zastosowań wystarczy też baza SQLite (w zasadzie format, bo nie stawia się serwera jako takiego) a jakby co, to PHP też potrafi pracować samodzielnie (bez współpracy z jakimkolwiek serwerem WWW typu Apache czy nginx), bo można go uruchomić jako polecenie z konsoli:
php -S 0.0.0.0:8080 -t folder_root/
Produkcyjnie lepiej PHP-a za czymś ukryć (bo uruchomienie go na porcie 80 czy innym poniżej 1024 wymaga uruchomienia go z roota a tego lepiej nie robić bardzo szczęśliwy) ale na potrzeby testów to bardzo wygodny sposób używania php bez jakiegokolwiek serwera.
_________________
Piotr
  
canis_lupus
09.01.2018 08:20:35
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Kraków

Posty: 4355 #2504061
Od: 2013-7-18
    SQ5KLN pisze:

      sp5iou pisze:

      php ani mysql na takiej płytce się nie postawi


    Bardzo lekki jest serwer nginx (znacznie mniej zasobożerny niż Apache), do większości zastosowań wystarczy też baza SQLite (w zasadzie format, bo nie stawia się serwera jako takiego) a jakby co, to PHP też potrafi pracować samodzielnie (bez współpracy z jakimkolwiek serwerem WWW typu Apache czy nginx), bo można go uruchomić jako polecenie z konsoli:
    php -S 0.0.0.0:8080 -t folder_root/
    Produkcyjnie lepiej PHP-a za czymś ukryć (bo uruchomienie go na porcie 80 czy innym poniżej 1024 wymaga uruchomienia go z roota a tego lepiej nie robić bardzo szczęśliwy) ale na potrzeby testów to bardzo wygodny sposób używania php bez jakiegokolwiek serwera.


Na ESP8266 nawet nginxa się nie da postawić. To jest malutki mikrokontroler.
_________________

To mówiłem ja, "unlis i ukrywający coś, wstydzący się swojego znaku, człowiek z ulicy, losowa osoba z internetu, anonimowy pirat, do d**y" z Hackerspace Kraków

  
SQ5KLN
09.01.2018 08:24:04
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504062
Od: 2012-7-10
    canis_lupus pisze:

    Na ESP8266 nawet nginxa się nie da postawić. To jest malutki mikrokontroler.


Tak, masz rację. Nie wiem czemu ale pisząc poprzedniego posta miałem "malinki" w głowie bardzo szczęśliwy
_________________
Piotr
  
sp9uxy
09.01.2018 09:51:30
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Gliwice

Posty: 2003 #2504081
Od: 2009-8-25


Ilość edycji wpisu: 2
[quote=canis_lupus]
    SQ5KLN pisze:

      sp5iou pisze:

      php ani mysql na takiej płytce się nie postawi


    Bardzo lekki jest serwer nginx (znacznie mniej zasobożerny niż Apache), do większości zastosowań wystarczy też baza SQLite (w zasadzie format, bo nie stawia się serwera jako takiego) a jakby co, to PHP też potrafi pracować samodzielnie (bez współpracy z jakimkolwiek serwerem WWW typu Apache czy nginx), bo można go uruchomić jako polecenie z konsoli:
    php -S 0.0.0.0:8080 -t folder_root/
    Produkcyjnie lepiej PHP-a za czymś ukryć (bo uruchomienie go na porcie 80 czy innym poniżej 1024 wymaga uruchomienia go z roota a tego lepiej nie robić bardzo szczęśliwy) ale na potrzeby testów to bardzo wygodny sposób używania php bez jakiegokolwiek serwera.


Na ESP8266 nawet nginxa się nie da postawić. To jest malutki mikrokontroler. [/quote]




Czytałeś jaki tam jest procesor? To przeczytaj a nie pisz głupot że jest malutki.

Jak "skompilujesz" sobie nginx'a to będzie działać.

L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz†
  
SQ5KLN
09.01.2018 09:57:53
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504085
Od: 2012-7-10


Ilość edycji wpisu: 2
    sp9uxy pisze:


    Czytałeś jaki tam jest procesor? To przeczytaj a nie pisz głupot że jest malutki.

    Jak "skompilujesz" sobie nginx'a to będzie działać.

    L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz†


Malutki z perspektywy postawienia na tym Linuxa, bo oczywiście w porównaniu z ATmegą to jest wypas bardzo szczęśliwy Nginx-a na to nie skompilujesz (za mało RAM, kernel Linuxa nie ruszy, edit: że o Harwardzkiej architekturze nie wspomnę bardzo szczęśliwy).
_________________
Piotr
  
canis_lupus
09.01.2018 10:04:27
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Kraków

Posty: 4355 #2504088
Od: 2013-7-18
    SQ5KLN pisze:

      sp9uxy pisze:


      Czytałeś jaki tam jest procesor? To przeczytaj a nie pisz głupot że jest malutki.

      Jak "skompilujesz" sobie nginx'a to będzie działać.

      L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz†


    Malutki z perspektywy postawienia na tym Linuxa, bo oczywiście w porównaniu z ATmegą to jest wypas bardzo szczęśliwy Nginx-a na to nie skompilujesz (za mało RAM, kernel Linuxa nie ruszy, edit: że o Harwardzkiej architekturze nie wspomnę bardzo szczęśliwy).


Nie pisz głupot, UXY nie skompiluje?!
_________________

To mówiłem ja, "unlis i ukrywający coś, wstydzący się swojego znaku, człowiek z ulicy, losowa osoba z internetu, anonimowy pirat, do d**y" z Hackerspace Kraków

  
SQ5KLN
09.01.2018 10:13:10
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504091
Od: 2012-7-10
    canis_lupus pisze:

    Nie pisz głupot, UXY nie skompiluje?!


No tak, zapomniałem że to UXY, on z pewnością da radę bardzo szczęśliwy
_________________
Piotr
  
Electra10.12.2018 01:55:10
poziom 5

oczka
  
sp9uxy
09.01.2018 10:17:43
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Gliwice

Posty: 2003 #2504092
Od: 2009-8-25


Ilość edycji wpisu: 1
[quote=canis_lupus]
    SQ5KLN pisze:

      sp9uxy pisze:


      Czytałeś jaki tam jest procesor? To przeczytaj a nie pisz głupot że jest malutki.

      Jak "skompilujesz" sobie nginx'a to będzie działać.

      L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz†


    Malutki z perspektywy postawienia na tym Linuxa, bo oczywiście w porównaniu z ATmegą to jest wypas bardzo szczęśliwy Nginx-a na to nie skompilujesz (za mało RAM, kernel Linuxa nie ruszy, edit: że o Harwardzkiej architekturze nie wspomnę bardzo szczęśliwy).


Nie pisz głupot, UXY nie skompiluje?![/quote]


Coś takiego jak nginx da się na tym postawić, tylko o trzeba wiedzieć jak.
  
SQ5KLN
09.01.2018 10:27:51
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504095
Od: 2012-7-10
    sp9uxy pisze:

    Coś takiego jak nginx da się na tym postawić, tylko o trzeba wiedzieć jak. Idź pani Basi mysz się posuła.


Nginx-a nie postawisz. Są różne forki na bazie nginx-a na przykład esp-ginx itp. ale to mocna przeróbka a nie tylko rekompilacja, normalnego nginx-a nie skompilujesz (za to nginx świetnie pracuje jako proxy do platform Arduino ale to zupełnie inna sprawa bardzo szczęśliwy).
_________________
Piotr
  
canis_lupus
09.01.2018 10:33:18
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Kraków

Posty: 4355 #2504098
Od: 2013-7-18
    VSS pisze:

      sp5iou pisze:


      Nawet działa: http://sp5iou.homeip.net, o ile mi się neostrada nie wywali. A to się niestety zdarza w moim leśnym qra.


    a można zobaczyć źródło ?


CTRL+u
_________________

To mówiłem ja, "unlis i ukrywający coś, wstydzący się swojego znaku, człowiek z ulicy, losowa osoba z internetu, anonimowy pirat, do d**y" z Hackerspace Kraków

  
SQ5KLN
09.01.2018 10:34:27
poziom 6



Grupa: Użytkownik

Posty: 1150 #2504099
Od: 2012-7-10
    canis_lupus pisze:

    CTRL+u


Pewnie chodziło o to co chodzi na porcie 82 bardzo szczęśliwy
_________________
Piotr
  
sp9uxy
09.01.2018 16:11:42
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Gliwice

Posty: 2003 #2504225
Od: 2009-8-25


Ilość edycji wpisu: 1
    SQ5KLN pisze:

      sp9uxy pisze:

      Coś takiego jak nginx da się na tym postawić, tylko o trzeba wiedzieć jak. Idź pani Basi mysz się posuła.


    Nginx-a nie postawisz. Są różne forki na bazie nginx-a na przykład esp-ginx itp. ale to mocna przeróbka a nie tylko rekompilacja, normalnego nginx-a nie skompilujesz (za to nginx świetnie pracuje jako proxy do platform Arduino ale to zupełnie inna sprawa bardzo szczęśliwy).



Oczywiście kompilacja to była z mojej strony pewna przenośnia, ale jak by założyć 1 worker
to coś podobnego można napisać proponuję zobaczyć rozwiązania na cpu Microchip i STM.
  
VSS
09.01.2018 18:44:20
poziom najwyższy i najjaśniejszy :-)



Grupa: Użytkownik

QTH: Posen

Posty: 2421 #2505264
Od: 2009-12-24
    SQ5KLN pisze:

      canis_lupus pisze:

      CTRL+u


    Pewnie chodziło o to co chodzi na porcie 82 bardzo szczęśliwy


tak, chciałem zobaczyć źródło softu które widać.
_________________
Artur VSS
http://sp3vss.pl/ http://vss.pl
PZK - Piraci Z Karaibów
PZK - Polski Związek Krótkowzrocznych

zarejestruj się i kupuj w tysiącach sklepów jeszcze taniej!
https://www.tipli.pl/p/188175
  
sp5iou
10.01.2018 18:40:01
poziom 6



Grupa: Użytkownik

QTH: Warszawa

Posty: 1118 #2505586
Od: 2012-9-2


Ilość edycji wpisu: 11
Żródło widać.
Na porcie 80 jest raspberrypi3, a na porcie 82 jest ta płyteczka - obecnie esp8266 ESP-12 Lua CH340
Obrazek
- ona ma Wikęcej GPIO niż malutka płyteczka ESP8266 ESP-01,
Obrazek
tyle że dla mnie jest wygodniejsza do eksperymentów
Część kodu na jest w internecie i właśnie o to mi chodzi, żeby wszystko wsadzić na płytkę, łącznie z wygladem zdefiniowanym przez CSS.
Jeśli się to programuje w Arduino, to cała stronkę trzeba wsadzić do Flasha jako zbiór stringów. Te co są niezmienne można zapakować do Flasha a te co zmienne do ramu i właśnie dlatego potrzebuję tylko html i CSS, bo serwera php w prosty sposób sie tam nie wrzuci. Zresztą niema takiej potrzeby.
Generalnie chodzi o wyświetlenie na przegladarce ładnego okna z wyświetlanymi danymi z czujników, kilka przycisków, suwaczki, ewentualnie o zmieniających sie atrybutach w zależności od sytuacji.
Coś w stylu jak zrobiłem w pythonie pod Tcl/Tk, no moze trochę bardziej upiększone.
Obrazek

Działać ma również w inranecie bez dostępu do internetu i bez dodatkowego serwera, dlatego wszystko ma być w module.
Stąd potrzeba uaktualnienia wiedzy w tworzeniu stron w html / css.

Dobra, ale późno się robi, biorę się za studiowanie.

_________________
73's Marcin.
Warszawa KO02OE, VOT PZK 73
FT991, FT-817ND, IC706, IC735, FT897, IC211E, FT290RII, UNIDEN2020, Motorola MCX100, Radmor FM315K, HM: Piligrim, Kacper 40m, Taurus 40m, IC-7000
Intek HR2040, TM-218, QYT KT-8900 i KT8900D, TYT DM380, RT320. Baofengi UV-5R, UV-B6, UV82. FT-817ND, Radioddity GD-77, TYT DM-9600, TYT DMUV380, Anytone D868UV
IC2KL(500W), LDG600 ProII, LDG11ZPro.
Multiband InVee, GP7DX, Slooper 160m, Lafayette UV300 i uv200, InV L na samochodzie.
((( NIGDY NIE PRZEKRACZAM MOCY LICENCYJNEJ )))
Niema głupich pytań, spotyka się niezbyt mądre odpowiedzi.

  
sp5iou
10.01.2018 21:43:44
poziom 6



Grupa: Użytkownik

QTH: Warszawa

Posty: 1118 #2505622
Od: 2012-9-2


Ilość edycji wpisu: 1
Pewnie vss-owi chodzi o żródło którego nie widać, czyli co wrzuciłem do flasha ESP8266.
Żadna tajemnica, no poza hasłami na domowe AP, bo to oparte na francuskim przykładzie, trochę go wzbogaciłem, bo to ma też móc łazić w robocie po całym domu i móc sobie przełaczać access pointy wifi.

No niestety zrobię bałagan, bo nie widzę mozliwości publikacji kodu, jak na forach informatycznych:

#include <,WiFiClient.h>,
#include <,ESP8266WebServer.h>,
#include <,DHT.h>,
//#include <,Adafruit_BMP085.h>,

const char* ssid[] PROGMEM = "ssid0", "ssid1", "ssid2",
const char* password[] PROGMEM = "pass0", "pass1", "pass2",
const int apn = 3, // number of known Access points
int rssis[3] = -200, -200, -200,
#define MINSIGNAL -95 //Below starts try to find stronger AP
const int serverport = 82,
#define DHTTYPE DHT11 // DHT type (DHT11, DHT22)
#define DHTPIN D4 // DHT Pin
const uint8_t GPIOPIN[4] = D5, D6, D7, D8, // Led
float t = 0 ,
float h = 0 ,
float p = 0,
String etatGpio[4] = "OFF", "OFF", "OFF", "OFF",
int apj = 0, //Access points counter

// create Objects
DHT dht(DHTPIN, DHTTYPE),
//Adafruit_BMP085 bmp,
//ESP8266WebServer server ( 80 ),
ESP8266WebServer server ( serverport ), //Port serverport set above to distinguish from ordinary web pages

String getPage()
String page = "<,html lang='pl'<,head>,<,meta http-equiv='refresh' content='60' name='viewport' content='width=device-width, initial-scale=1'/>,",
page += "<,link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'>,<,script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'>,<,/script>,<,script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js'>,<,/script>,",
page += "<,meta charset='utf-8'>,",
page += "<,title>,ESP8266 Stacja Pogodowa<,/title>,<,/head>,<,body>,",
page += "<,div class='container-fluid'>,",
page += "<,div class='row'>,",
page += "<,div class='col-md-12'>,",
page += "<,h1>,Mini stacja meteo & włącznik LED ESP8266<,/h1>,",
page += "<,h3>,Mini stacja meteo<,/h3>,",
page += "<,ul class='nav nav-pills'>,",
page += "<,li class='active'>,",
page += "<,a href='#'>, <,span class='badge pull-right'>,",
page += t,
page += "<,/span>, Temperatura<,/a>,",
page += "<,/li>,<,li>,",
page += "<,a href='#'>, <,span class='badge pull-right'>,",
page += h,
page += "<,/span>, Wilgotność<,/a>,",
page += "<,/li>,<,li>,",

page += "<,a href='#'>, <,span class='badge pull-right'>,",
page += p,
page += "<,/span>, Ciśnienie atmosferyczne<,/a>,<,/li>,",
page += "<,/li>,<,li>,",

page += "<,a href='#'>, <,span class='badge pull-right'>,",
page += ssid[apj],
page += "<,/span>, Połaczenie WiFi z <,/a>,<,/li>,",
page += "<,/li>,<,li>,",

page += "<,a href='#'>, <,span class='badge pull-right'>,",
page += WiFi.RSSI(),
page += "<,/span>, Siła sygnału <,/a>,",
page += "<,/ul>,",

page += "<,table class='table'>,", // Tableau des relevés
page += "<,thead>,<,tr>,<,th>,Czujnik<,/th>,<,th>,Pomiar<,/th>,<,th>,Wartość<,/th>,<,th>,Wartość przewidywana<,/th>,<,/tr>,<,/thead>,", //Entê,te
page += "<,tbody>,", // Contenu du tableau
page += "<,tr>,<,td>,DHT11<,/td>,<,td>,Temperatura<,/td>,<,td>,", // Premiè,re ligne : température
page += t,
page += "°,C<,/td>,<,td>,",
page += " -<,/td>,<,/tr>,",
page += "<,tr class='active'>,<,td>,DHT11<,/td>,<,td>,Wilgotność<,/td>,<,td>,", // 2nd ligne : Humidité
page += h,
page += "%<,/td>,<,td>,",
page += " -<,/td>,<,/tr>,",
page += "<,tr>,<,td>,BMP180<,/td>,<,td>,Ciśnienie atmosferyczne<,/td>,<,td>,", // 3è,me ligne : PA (BMP180)
page += p,
page += " mbar<,/td>,<,td>,",
page += "-<,/td>,<,/tr>,",

page += "<,/tbody>,<,/table>,",
page += "<,h3>,GPIO<,/h3>,",
page += "<,div class='row'>,",
page += "<,div class='col-md-4'>,<,h4 class ='text-left'>,D5 ",
page += "<,span class='badge'>,",
page += etatGpio[0],
page += "<,/span>,<,/h4>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D5' value='1' class='btn btn-success btn-lg'>,ON<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D5' value='0' class='btn btn-danger btn-lg'>,OFF<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,h4 class ='text-left'>,D6 ",
page += "<,span class='badge'>,",
page += etatGpio[1],
page += "<,/span>,<,/h4>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D6' value='1' class='btn btn-success btn-lg'>,ON<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D6' value='0' class='btn btn-danger btn-lg'>,OFF<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,h4 class ='text-left'>,D7 ",
page += "<,span class='badge'>,",
page += etatGpio[2],
page += "<,/span>,<,/h4>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D7' value='1' class='btn btn-success btn-lg'>,ON<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D7' value='0' class='btn btn-danger btn-lg'>,OFF<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,h4 class ='text-left'>,D8 ",
page += "<,span class='badge'>,",
page += etatGpio[3],
page += "<,/span>,<,/h4>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D8' value='1' class='btn btn-success btn-lg'>,ON<,/button>,<,/form>,<,/div>,",
page += "<,div class='col-md-4'>,<,form action='/' method='POST'>,<,button type='button submit' name='D8' value='0' class='btn btn-danger btn-lg'>,OFF<,/button>,<,/form>,<,/div>,",
page += "<,/div>,",
page += "<,br>,<,p>,<,a href='http://www.projetsdiy.fr'>,www.projetsdiy.fr<,/p>,",
page += "<,/div>,<,/div>,<,/div>,",
page += "<,/body>,<,/html>,",
return page,

void handleRoot()
if ( server.hasArg("D5") )
handleD5(),
else if ( server.hasArg("D6") )
handleD6(),
else if ( server.hasArg("D7") )
handleD7(),
else if ( server.hasArg("D8") )
handleD8(),
else
server.send ( 200, "text/html", getPage() ),



void handleD5()
String D5Value,
updateGPIO(0, server.arg("D5")),


void handleD6()
String D6Value,
updateGPIO(1, server.arg("D6")),


void handleD7()
String D7Value,
updateGPIO(2, server.arg("D7")),


void handleD8()
String D8Value,
updateGPIO(3, server.arg("D8")),


void updateGPIO(int gpio, String DxValue)
Serial.println(""),
Serial.println("Aktualizuj GPIO "), Serial.print(GPIOPIN[gpio]), Serial.print(" ->, "), Serial.println(DxValue),

if ( DxValue == "1" )
digitalWrite(GPIOPIN[gpio], HIGH),
etatGpio[gpio] = "ON",
server.send ( 200, "text/html", getPage() ),
else if ( DxValue == "0" )
digitalWrite(GPIOPIN[gpio], LOW),
etatGpio[gpio] = "OFF",
server.send ( 200, "text/html", getPage() ),
else
Serial.println("Err Led Value"),



void connection()
// Wait for connection
for (apj = 0, apj <, apn, apj++)
rssis[apj] = -200,//Set low strengths for known access points.

WiFi.mode(WIFI_STA),
WiFi.disconnect(),
delay(100),
Serial.println("scan start"),

// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks(),
Serial.println("scan done"),
if (n == 0)
Serial.println("no networks found"),
else

Serial.print(n),
Serial.println(" networks found"),
for (int i = 0, i <, n, i++)

// Print SSID and RSSI for each network found
Serial.print(i),
Serial.print(": "),
Serial.print(WiFi.SSID(i)),
Serial.print(" ("),
Serial.print(WiFi.RSSI(i)),
for (apj = 0, apj <, apn, apj++)
if (WiFi.SSID(i) == ssid[apj])
rssis[apj] = int(WiFi.RSSI(i)), // assigns signal strengths to known access points


Serial.print(")"),
Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"),
delay(10),


Serial.println("Finding the strongest network "),
//Finding the strongest AP.
int maxrssi = -200,
int apjmax = 0,
for (apj = 0, apj <, apn, apj++)
if (rssis[apj] >, maxrssi)
maxrssi = rssis[apj],
apjmax = apj,


apj = apjmax,
WiFi.disconnect(),
delay(1000),
Serial.print("Trying to connect to the strongest known Access Point no "),
Serial.print(apj),
Serial.print(" "),
Serial.print(ssid[apj]),
Serial.print(" Signal strength "),
Serial.println(rssis[apj]),
WiFi.begin ( ssid[apj], password[apj] ),
for (int i = 0, (i <, 30 && WiFi.status() != WL_CONNECTED), i++)
delay ( 500 ), Serial.print ( "." ),

if (WiFi.status() != WL_CONNECTED)
Serial.println(""),
Serial.print("Failed to connect to no "),
Serial.print(apj),
Serial.print(" "),
Serial.println(ssid[apj]),

//If failed for any reasons try to connect to other knowsn AP
while ( WiFi.status() != WL_CONNECTED )
for (apj = 0, apj <, apn && WiFi.status() != WL_CONNECTED, apj++)
Serial.print("Trying to connect to no "),
Serial.print(apj),
Serial.print(" "),
Serial.println(ssid[apj]),
WiFi.begin ( ssid[apj], password[apj] ),
for (int i = 0, (i <, 20 && WiFi.status() != WL_CONNECTED), i++)
delay ( 500 ), Serial.print ( "." ),

if (WiFi.status() != WL_CONNECTED)
Serial.println(""),
Serial.print("Failed to connect to "),
Serial.println(ssid[apj]),

else break,



// WiFi connexion is OK
Serial.println ( "" ),
Serial.print ( "Connected to no " ), Serial.println (apj), Serial.println (" "), Serial.println ( ssid[apj] ),
Serial.print ( "IP address: " ), Serial.println ( WiFi.localIP() ),
Serial.print("Signal strength "),
Serial.println(int(WiFi.RSSI())),
// On branche la fonction qui gè,re la premiere page / link to the function that manage launch page
server.on ( "/", handleRoot ),

server.begin(),
Serial.print ( "HTTP server started on port " ),
Serial.println(serverport),

//********************************************************************************************************

void setup()
for ( int x = 0 , x <, 5 , x++ )
pinMode(GPIOPIN[x], OUTPUT),

delay(5000), //delay for com port to establish.
Serial.begin ( 115200 ),

/*
// Initialisation du BMP180 / Init BMP180
if ( !bmp.begin() )
Serial.println("BMP180 KO!"),
while(1),
else
Serial.println("BMP180 OK"),

*/

connection(),


void loop()
// put your main code here, to run repeatedly:
if (WiFi.status() == WL_CONNECTED && int(WiFi.RSSI()) >, MINSIGNAL)
server.handleClient(),
t = dht.readTemperature(),
h = dht.readHumidity(),
// p = bmp.readPressure() / 100.0F,
delay(500),

else
Serial.print("Lost connection with "),
Serial.println(ssid[apj]),
connection(),


Tu zastosowano upiększacze ze strony bootstrap i właśnie to chcę wywalić i zrobić własne style,
Tu też brakuje suwaków i kontekstowej zmiany atrybutów obiektów.
W moim pythonowym okienku, jak się zapali leda to się kolor buttona zmienmia na jaśniejszy i napis się zmienia na set led off off, no i jest "toggle", nie mówiąc już o suwaczku do kręcenia serwem wesoły.

Do takiego "scope of work" nie potrzeba ani js ani php a już napewno mysql wesoły.

Purystów językowych przepraszam za anglojęzyczne komentarze w kodzie, ale tak się już przyzwyczaiłem i tak też jest praktyczniej.

"Polacy nie gęsi i swój język mają", ale też obce języki znają.

Mikołaj Rej znał Łacinę, Grekę i Bóg wie co jeszcze.


_________________
73's Marcin.
Warszawa KO02OE, VOT PZK 73
FT991, FT-817ND, IC706, IC735, FT897, IC211E, FT290RII, UNIDEN2020, Motorola MCX100, Radmor FM315K, HM: Piligrim, Kacper 40m, Taurus 40m, IC-7000
Intek HR2040, TM-218, QYT KT-8900 i KT8900D, TYT DM380, RT320. Baofengi UV-5R, UV-B6, UV82. FT-817ND, Radioddity GD-77, TYT DM-9600, TYT DMUV380, Anytone D868UV
IC2KL(500W), LDG600 ProII, LDG11ZPro.
Multiband InVee, GP7DX, Slooper 160m, Lafayette UV300 i uv200, InV L na samochodzie.
((( NIGDY NIE PRZEKRACZAM MOCY LICENCYJNEJ )))
Niema głupich pytań, spotyka się niezbyt mądre odpowiedzi.

  
sp9uxy
11.01.2018 10:00:41
poziom najwyższy i najjaśniejszy :-)

Grupa: Użytkownik

QTH: Gliwice

Posty: 2003 #2505706
Od: 2009-8-25
Ale to tylko html, do klapania łapkami i wyświetlania temp. wystarczy.
  
Electra10.12.2018 01:55:10
poziom 5

oczka

Przejdz do góry stronyStrona: 1 / 2>>>    strony: [1]2

  << Pierwsza      < Poprzednia      Następna >     Ostatnia >>  

HOME » INNE » FAJNE, INTERNETOWE KURSY PROGRAMOWANIA PO POLSKU

Aby pisac na forum musisz sie zalogować !!!

randki | własny sklep internetowy | promocje | CyberCiekawostki | darmowe forum | sklepy
opinie, testy, oceny | katalog stron | toplsta