altRobots
/robotigs/icons/actuator.pngActuatoren
/robotigs/icons/printboards.pngAlgemeen
/robotigs/icons/chassis.pngChassis
/robotigs/icons/florigs.pngFlorigs
/robotigs/icons/interfacing.gifInterfacing
/robotigs/icons/microphone_icon.pngMuziek
/robotigs/icons/musicKey_icon.pngMuzikanten
/robotigs/icons/shield.pngSchildjes
/sys/icons/sensors.pngSensors
/robotigs/icons/languages.pngTalen
/robotigs/icons/battery.pngVoedingen
/sys/icons/microController.pngµControllers
altContact
Wifi ESP-01"); echo ("  "); } ?>  "); /* echo (""); echo (" "); //Show pencil as button */ ?> alt  

Deze pagina is verouderd. Ga naar de vernieuwde pagina.

"); $counter = 0; $aantal = str_word_count($pict_list, 0, "0123456789"); $lijst = str_word_count($pict_list, 1, "0123456789"); while($counter < $aantal){ $pictkey = $lijst[$counter]; $qryy1 = ("SELECT * FROM illustrations WHERE ill_id = $pictkey ;"); $resulty1 = pg_query($con1, $qryy1); while($row = pg_fetch_array($resulty1)){ //Fields accesible by their name foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } } $image = ("/robotigs/documentatie/plaatjes/$ill_name"); $pictfull = str_replace('_small', '', $image); //Pictfull=biggest version $alt = ("Just wait till your 57...."); $txtname = get_txt($con1, 18, $koekje[2], $ill_id); //Robot illustrations subtitles echo (""); echo (''. $alt .'
'); $nummer = $counter + 1; $txtAfb = get_txt($con1, 9, $koekje[2], 3865); //Pic Afb if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo ("$txtAfb $nummer: "); echo ("$txtname"); echo ("
"); echo ("Ontkoppelen "); if ($counter==0){ echo ("Up "); }else{ echo ("Up "); } if ($nummer == $aantal){ echo ("Down"); }else{ echo ("Down"); } }else{ //Else of if Meaning the current useer is logged in echo ("$txtAfb $nummer: $txtname"); } echo ('

'); //End of this picture $counter++; //Prepair for next picture } echo (''); //All pictures are printed } //End of if there are 1 or more pictures to be printed ---------------------- ?>

  • Montage
    https://www.banggood.com/600Pcs-Black-Carbon-Steel-10_9-Grade-Hexagon-Cap-Button-Head-Flat-Head-Screw-Nuts-Assortment-Set-p-1371234.html?rmmds=search&ID=41527&cur_warehouse=CN
    Dit is ideale oplossing voor de Wifi sensor.

  • Aansluitingen
  • altJe moet zelf pins aan de module solderen. Vervolgens kan de module met bijvoorbeeld een breadboard worden gebruikt.
    • Seriële verbinding
    • Let op bij het aansluiten dat de Rx (Receive=ontvanger) van de ESP-01 moet worden aangesloten op een Tx (Transmit=zender) van de Arduino.
    • Voedingsspanning
    • De voedingsspanning is 5Vdc. Alle andere aansluitpennen werken ook op TTL niveau.

  • Initialisatie
    Voor het gemak is hier een Arduino Mega 2560 gebruikt omdat deze meerdere seriële poorten bevat. Verder moet je op je mobiel een app installeren zoals bijvoorbeeld Wifi Analyzer. Hiermee kan je de Wifi signalen in je omgeving analyseren. Zodra de voeding wordt aangezet gaat het rode power-on ledje branden op de module. Bovendien verschijnt er in de Wifi Analyzer een acces point op kanaal 1, 2412 mHz, AI-THINKER_C1B532 (5e:cf:7f:c1:b5:32), safety = ESS, of iets vergelijkbaars.

    Het blijkt dat het op mijn netwerk beter is om de snelheid terug te zetten naar 57600. Dit leidt tot aanzienlijk minder problemen op het netwerk.

  • Wat wil ik eigenlijk?
  • De ESP-01 is een zeer gecompliceerde module want hij bestaat uit meerdere gebruiksmodes. Dit komt omdat het eigenlijk een compleet systeem is dat eigenlijk geen Arduino nodig heeft. Daardoor bestaan er meerdere gebruiksmogelijkheden. Als je vervolgens op het internet gaat zoeken blijkt het nogal verwarrend te zijn. Je moet goed in de gaten houden wat je precies wil/verwacht van je ESP01.

    • Wifi module aan Arduino
    • Dit is hoe deze module af fabriek geleverd wordt. Verbinding met seriële poort.
      1. AT commands
      2. Arduino libraries

    • Arduino als programmer voor ESP8266
    • Dit is de modus waarin het operating systeem van de ESP8266 kan worden geupdate of zelf vervangen.

    • ESP8266 zelfstandig
    • Dit is de modus waarin de ESP8266 helemaal zelfstandig werkt als bijv IoT onderdeel.

  • Wat is deze module?
    Dit onderdeel bestaat uit een ESP-01 module (Wifi interfacing) en een verloopstukje naar een Arduino breadboard. Het verloopstukje zorgt er bijvoorbeeld voor dat de module op 5Vdc werkt. Ook de seriële communicatie mag gebeuren op 5Vdc. De ESP-01 module bevat een ESP826 µcontroller, een Wifi chip en een opgebakken antenne. Dit is dus een complete IoT oplossing op zichzelf en heeft voor het gebruik zonder Arduino een eigen webpagina. Deze pagina gaat over het gebruik van de ESP-01 als module gekoppeld aan een Arduino, oftewel: `Hoe verbindt ik mijn Arduino robot met het internet?` Het mag hier wel verklapt worden dat dit via een seriële poort gebeurt.

    Er bestaan 2 versies van de ESP-01 module, namelijk de blauwe oude (met 512k Byte flashgeheugen) en de nieuwe zwarte (met 1M Byte flashgeheugen). Wij beschrijven de (zwarte) nieuwe versie. Verder is de software op de ESP8266 µcontroller reeds volledig geschikt gemaakt als Wifi module voor algemeen gebruik met een Arduino.

  • AT systeem test
    alt De module komt met AT software, dat wil zeggen dat de module zich laat sturen met AT-commando`s. AT is een afkorting voor “ATtention” en werd vroeger gebruikt met modems. Deze AT commando`s worden via een seriële verbinding op 115200 bps gecommuniceerd. Upload de ESP-01 sketch naar de Arduino en start. De systeem test antwoordt met Ok. Daarna laat de GMR zien dat wij met versie AT version:1.1.0.0(May 11 2016 18:09:56) van de voorgeïnstalleerde AT-software werken. Dit is een recente versie en deze loopt enkel op de nieuwe modules met groot geheugen. Het vervelende is dat er vele versies van de AT-software bestaan die allen een beetje anders zijn. Een andere AT versie zal dus anders reageren en mogelijkerwijze ook andere commando`s kennen. AT commando`s zijn leuk om netwerk mee te testen etc. maar ze zijn langzaam en omslachtig om mee te werken in een eigen sketch. Vandaar de volgende stap met bibliotheken.

  • Arduino bibliotheken
    • Welke bibliotheek heb ik nodig?
    • (Bron) The WiFi library is written for the Arduino WiFi Shield, which is completely different than the ESP8266. You cant use the WiFi library with the ESP8266. The ESP8266WiFi library is part of ESP8266 core for Arduino: https://github.com/esp8266/Arduino. which is used to directly program the ESP8266 via the Arduino IDE. The ESP8266WiFi library is similar to the WiFi library in that it attempts to use the same API but the actual code inside the libraries is different.

      It appears that you are instead using the ESP8266 as a WiFi module. Likely it is connected to your Mega via serial and the ESP8266 is running the AT firmware. For that usage I recommend this library: https://github.com/bportaluri/WiFiEsp. It also uses the standardized API. When you are using the ESP8266 as a module you will not want to use the ESP8266 core for Arduino as you will be programming the Mega rather than the ESP8266.

    • WifiEsp
    • WifiEsp blijkt de enige library die de regie op de Arduino houdt en de ESP01 als module gebruikt. De WiFiEsp bibliotheek laat zich installeren zoals iedere andere bibliotheek. WiFiEsp example: WebServerLed werkt dan, na enkele kleine aanpassingen, uitstekend. Wij zoeken een bibliotheek die werkt zonder dat wij iets op de ESP01 hoeven te installeren. In dat geval gebruiken we de ESP01 als WiFi module voor de Arduino. Er bestaan vele Wifi bibliotheken. Zo is er standaard een Wifi bibliotheek ingebouwd in de Arduino IDE. Deze is gebouwd voor een wifi schild dat via de SPI bus communiceert en dus sowieso ongeschikt is voor ons.

  • ESP8266 bibliotheken
    Het is ook mogelijk om de ESP01 zelfstandig te gebruiken, dus zonder Arduino. Hiervoor bestaat een aparte pagina.


$val ){ $$key = stripslashes( $val ); } $jaar = substr($changeddate,0,4); $maand = substr($changeddate,5,2); $dag = substr($changeddate,8,2); $lastupdate = ("$jaar $maand $dag"); $prtsrttxt = get_txt($con1, 26, 1, $idsrtodd); $jaar = substr($createddate,0,4); $maand = substr($createddate,5,2); $dag = substr($createddate,8,2); $create_stamp = ("$dag $maand $jaar"); //GENERAL INFO FOR EVERY USER ************************************************** echo ("

"); echo (""); if ($codetext) { //Code like KY-026 or NA-41 echo (""); } //End of if ($codetext) $tmp = get_txt($con1, 9, $koekje[2], 3741); //Fieldname at screen if ($prijseurinclbtw > 0){ //Show price indication $prijs_formatted = number_format($prijseurinclbtw / 100, 2, ',', '.'); echo (""); echo (""); } //End of if ($prijseurinclbtw > 0) if ($sketchtext) { //Link to OWN SOFTWARE $tmp = get_txt($con1, 9, $koekje[2], 3738); //Fieldname at screen echo (""); } //End of if ($sketchtext) $tmp = get_txt($con1, 9, $koekje[2], 3744); //Fieldname at screen if ($pinouttext) { //Pinout echo (""); } $tmp = get_txt($con1, 9, 1, 3735); //Fieldname at screen $tmp2 = get_txt($con1, 26, 1, $row4[16]); //Group name in its language echo (""); if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates $tmp = get_txt($con1, 9, $koekje[2], 3918); //Fieldname at screen LANGUAGE if ($row4[26] == 1) {$imgname = "nederland.png";} if ($row4[26] == 2) {$imgname = "deutschland.png";} if ($row4[26] == 3) {$imgname = "uk.png";} if ($row4[26] == 4) {$imgname = "france.png";} echo (""); $tmp = get_txt($con1, 9, $row4[27], 3919); //Fieldname at screen $statuskey = get_status_key($con1, $status); $tmp2 = get_txt($con1, 61, $koekje[2], $statuskey); //Fieldname at screen echo (""); } $tmp = get_txt($con1, 9, 1, 3966); //Fieldname at screen echo (""); echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3923); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo (" (edit)"); } echo ("Algemene informatie test
"); $tmp = get_txt($con1, 9, $koekje[2], 3739); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //Class for colour }else{ //So you are not allowed to translate echo $tmp; //Show screenname of this field in user language } //End of If you want to translate this fieldname at screen echo (" "); if ($codelink) { echo ("$codetext"); }else{ echo ("$codetext"); } //End of if ($pinoutlink) echo ("
$tmp  "); if ($urlprijs){ echo ("€  $prijs_formatted"); }else{ echo ("€  $prijs_formatted"); } //End of if ($urlprijs > "") echo ("
$tmp  "); if ($sketchlink) { echo ("$sketchtext"); }else{ echo ("$sketchtext"); } //End of if ($sketchlink) echo ("
$tmp  "); if ($pinoutlink) { echo ("$pinouttext"); }else{ echo ("$pinouttext"); } //End of if ($pinoutlink) echo ("
$tmp  "); //MENU GROUP echo (""); echo ("$tmp2
$tmp"); echo ("flag.gif"); echo ("
$tmp  "); //STATUS echo ("$status $tmp2
$tmp  "); //LAST CHANGED $tmp = substr($changeddate, 0, 10); echo ("$tmp

"); return; //////////////////////////////////////////////////////////////////////////////// function get_status_key($con, $num){ $qry = ("SELECT id FROM status WHERE nr = $num ;"); $result = pg_query($con, $qry); $row = pg_fetch_array($result); return ("$row[0]"); } 0 AND software.rstid = 2 AND tblsystext.lanid = $koekje[2] AND tblsystext.txlid = 19 ORDER BY sftname ASC , controller ASC ;"); $result = pg_query($con1, $qry2); if (pg_num_rows($result)>0) { //Only if at least 1 program exists echo ('

'); echo (""); while($col = pg_fetch_array($result)){ $col[0] = ("$col[0]"); echo (""); echo (""); echo (""); if ($koekje[0] > 0 and $koekje[3]>0){ //User is logged in and translates echo (""); } echo (''); } echo ('
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3922); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$col[2]  $col[0]"); echo ("(Edit)
'); } ?> 0){ if ($header == 0) { echo ("

"); echo (""); $header++; } //End of if ($header == 0) echo (""); echo (""); } } if ($header > 0){ echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3879); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$colbpp[2]"); //Show software van deze bot $qry=("SELECT software_basedir FROM farmbotversie WHERE id = $colbpp[0];"); $result = pg_query($con1, $qry); $col = pg_fetch_array ($result ,0); $dir1 = "/var/www/html/robotigs/software/$col[0]"; $arr1 = glob($dir1, GLOB_ONLYDIR); if (isset($arr1[0])){ $folder = $arr1[0]; $countertmp = 0; echo ("
    "); foreach (scandir($folder, 1) as $filename) { if ($filename<>"." AND $filename <>".."){ if ($countertmp == 0){ $countertmp++; } //End of if ($countertmp == 0) $tmp = "/"; $dir = substr($folder, 14) ."/"; $link = $tmp .$dir .$filename; $showname = substr($filename, 0 ,-4); echo ("
  • "); echo "$showname"; echo ("
  • "); } //End of if ($filename<>"." AND $filename <>".."){ } //End of foreach (scandir($folder, 1) as $filename) echo ("
      "); } //End of if (isset($arr1[0])) echo ("
"); } ?>
Warning: include(/var/www/html/robotigs/includes/wishlistperpart.php): Failed to open stream: No such file or directory in /var/www/html/robotigs/includes/parts_header.php on line 128

Warning: include(): Failed opening '/var/www/html/robotigs/includes/wishlistperpart.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/robotigs/includes/parts_header.php on line 128