- Gurulunk, WAZE?!
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Argos: Szeretem az ecetfát
- bambano: Bambanő háza tája
- Elektromos rásegítésű kerékpárok
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Janos250
őstag
Azt hiszem, gyakorlatilag ugyanaz, csak VÁM határ (helyesebben Magyarországon a VÁM határ felett, de a "kevés a VÁM, ezért nem kell megfizetni") alatt van.
https://www.ebay.com/itm/858D-Hot-Air-Demolition-Welding-Station-LED-Digital-Display-Control-Temperature/123153513131?epid=25019858762&hash=item1cac857aab%3Ag%3A1UMAAOSwrWVbB8-o&_sop=15&_pgn=3&_nkw=858+hot+air&rt=ncVajon ez is ugyanolyan, csak más a neve?
-
Janos250
őstag
Kezdők, akik szenzorokat akarnak venni, most 10 $ egy csomag.
https://www.banggood.com/Geekcreit-37-In-1-Sensor-Module-Board-Set-Kit-For-Arduino-p-1137051.html?cur_warehouse=CN -
Janos250
őstag
https://jlcpcb.com/
Nem is érdemes ilyen árak mellett vasalgatni. Mellesleg ez lyukgalvanizált lesz, amit vasalóval elég nehézmegcsinálni.
-
Janos250
őstag
válasz
gyapo11 #9307 üzenetére
Nekem 5 darabot (80*100 mm) csináltak összesen 2 (kettő) dollárért. Fene se érti, mért éri ez meg nekik. A szállítás persze ennek többszöröse. (Lehet, ebből jut nekik is?). Eagle free verziójában csináltam, elolvastam az oldalukon az Eagle-hez írt tutorialt, hogy milyen fájlokat, hogyan csináljunk. Összeraktam egy zip-be, feltöltöttem. Egyből analizálta is, közölte, minden rendben, és kirajzolta a panelt, hogy ilyen lesz. Utána az oldalukon lépésről lépésre nyomon lehetett követni, hogy mikor mit csináltak vele, melyik réteget mikor rakták, majd mikor postázták. Nekem is Teasüti ajánlotta, tényleg jó!
-
Janos250
őstag
A driverekkel már nekem is sok bajom volt, ezért én - ha csak lehet - innen töltök drivert:
http://www.catalog.update.microsoft.com/Search.aspx?q=CP210x -
Janos250
őstag
Én nem gondolnám, hogy a wire könyvtár ne lenne jó. Amit én tapasztaltam, amikor az UNO-n ment a prg, de ESP32-n nem, akkor a következő volt a hiba:
A szenzorra (vagy másra) parancs írás után kell némi idő, mire az képes válaszolni.
A lassú UNO esetén ez nem volt probléma, de a gyors ESP32-nél az írás után, és az olvasás elé kellett várakozást betenni. Persze az is lehet, hogy ez csak véletlen volt, és én észleltem várakozási idő problémaként. -
Janos250
őstag
Helló!
230-ról kellene meghajtanom egy ESP-t 3.3 V-al. Icipici méret kellene. Ti hogyan csinálnátok? -
Janos250
őstag
Helló C++ ismerők!
Hogyan szokás példányosítani paraméter nélküli konstruktorral osztályt?
Ha a setupban kiveszem a //-t, hibát ad.#include "DHT11Class.h"
DHT11Class MyDHT1 (14) ;
DHT11Class MyDHT2 () ;
void setup () {
MyDHT1.read_data ( ) ;
//MyDHT2.read_data ( ) ;
}
void loop () {
delay (500);
}
DHT11Class.h
class DHT11Class {
public:
DHT11Class () ;
DHT11Class ( int DHpinpar ) ;
void read_data() ;
}; // end DHT11Class
DHT11Class.cpp
#include "DHT11Class.h"
DHT11Class :: DHT11Class (){
} ; // end constructor1
DHT11Class :: DHT11Class ( int DHpinpar ){
} ; // end constructor2
void DHT11Class :: read_data(){
}; //end read_dataEgy lecsupaszított példa.
-
Janos250
őstag
Srácok!
Tud valaki olyan gyors nyomásérzékelőt folyadékhoz (benzin), ami elég gyors ahhoz, hogy járó motorú autóban az injektor elé csatlakoztatva érzékelni tudja a hengerenkénti benzinnyomás-lengéseket? (hibakeresés) -
Janos250
őstag
Találtam egy nagyon jó könyvet Arduinora, főleg kezdőknek. Rengeteg szenzor, miegymás (léptető,szervomotor, A6 GSM/GPRS panel, meg mindenféle jó dolog), kész komplett programokkal.
A címe:
"Tianhong Pan · Yi Zhu - Designing Embedded Systems with Arduino - A Fundamental Technology for Makers"Ha valaki nem boldogul a Google-al, akkor - érthető okokból - privát üzenet.
-
Janos250
őstag
válasz
Teasüti #9146 üzenetére
Létezik persze, a Budafoki úton a Mikronikában most vettem párat, de 500 Ft körül van darabja. Mégse kérdezhetem meg, hogy hol lehet olcsóbban kapni.
Nincs kedvem harapdálni, jobb lenne a tördelhető.
A breakable logikus lenne, de nem jött be.
A machined közelebb áll a jóhoz, de arra is csak a kerek lyukúak jönnek. -
Janos250
őstag
Srácok!
Hogy a csudába lehet rákeresni arra a mama csatlakozó sorra ebay-en, ami nem kerek, tehát belemegy a tüskesor, de tördelhető, nem kell fűrészelgetni. Vagyis mi az angol neve?
Tehát hasonló ehhez, de a mama is ugyanúgy tördelhető, mint a képen látható papa.
https://www.ebay.com/itm/20X-Male-Female-40pin-2-54mm-SIL-Header-Socket-Row-Strip-PCB-Connector-Cool-LU/222753551746?hash=item33dd257582:gDcAAOSw5IJWfLKy
Itthon van a boltban, de meglehetősen drága.
-
Janos250
őstag
Én szeretem egyetlen stringbe összerakni txt formátumban a html lapot, és egyetlen utasítással kiküldeni. SZÁMOMRA ez a kényelmes. A frissítés valóban növeli a macerát. Mivel nálam nincs túl gyors változás, és a műszer mellett állva vezérlik telefonon, én 5 sec-re állítottam az automatikus frissítés. Ez az ÉN ESETEMBEN megfelelő.
-
Janos250
őstag
Én az ESP8266WebServer-t szoktam javasolni, szerintem ez a legegyszerűbb, legkényelmesebb. Már megy ESP32-n is. Nem kell az alapokkal foglalkozni, csak betesszük egy stringbe a html kódot, és átadjuk a szervernek. A klienstől érkező dolgokat is kényelmesen tudjuk lekezelni.
-
Janos250
őstag
Nálam a szenzorokat kezelő ESP-k WiFi-n kommunikálnak egymással. Nem javaslat, csak tényleírás.
Meg van olyanom is, ahol a neten lógó ESP32 szerver az összes bejelentkezett állomásnak elküldi bármelyikről érkezett adatokat, hogy az válogassa ki, mi kell neki.
Ezzel egyben a galvanikus leválasztás problémáját is megoldottam, mert pl. a K típusú termoelemeket olvasó panelok kezelését végző ESP táp megoldására hiába kaptam itt korábban egy csomó, jónak tűnő ötletet, egy se vált be, kénytelen vagyok akkuról táplálni. Még szerencse, hogy félévig csak hetente egyszer kell bekapcsolni, aztán egy félévig meg egyáltalán nem. -
Janos250
őstag
Pedig csak jó lenne valami módon kiolvasni, mit ír ki, mert ott vannak az infók benne:
https://github.com/espressif/esp-idf/blob/release/v3.0/components/esp32/include/rom/rtc.h#L80
Ha másként nem, akkor valami terminal programmal, valami put teletype szerűséggel (win: putty.exe) -
Janos250
őstag
válasz
Teasüti #8892 üzenetére
Hello!
Próbáltam rendelni panel gyártást, de nem tudom az oldalt megnyitni.
Mit lehet ilyenkor tenni, mi lehet a hiba? Te hogy csináltad?
]Ez a
https://jlcpcb.com/
oldal -
Janos250
őstag
Én már rég elvesztettem a fonalat, csak egyetlen megjegyzésem lenne:
Saját tapasztalat alapján az ESP32 8 (nyolc) clientet tud párhuzamosan kezelni.
Mondom ezt anélkül, hogy valaha is lementem volna a socket programozás szintjére. Én maradtam a WiFiServer, WiFiClient szintjén, oldják meg ők a socketek kezelését. -
Janos250
őstag
válasz
Teasüti #9076 üzenetére
"Ti tudtátok, hogy a Stream osztályban ilyen függvények vannak, hogy readStringUntil(), parseInt(), stb?"
A HardwareSerial.cpp-ben ez van:
HardwareSerial Serial(0);
Vagyis a HardwareSerial típusú Serial objektum tőlünk függetlenül "automatikusan" létrehozásra kerül.A HardwareSerial.h-ban viszont ez van:
class HardwareSerial: public Stream
Vagyis a HardwareSerial osztály örökli a Stream osztály public és protected tagfüggvényeit, adattagjait.A Stream.h-ban viszont ez van:
class Stream: public Print
Vagyis a Stream osztály meg örököl a Print osztálytól, így közvetve a HardwareSerial is örökol a Print osztályból. Ezért lehet pl. Serial.print() és még egy csomó.A readStringUntil az a Stream osztályból öröklődik, szintén egy csomó egyébbel együtt.
Célszerű végigbogarászni a
HardwareSerial.h
Stream.h
Print.h
fájlokat, kincseket lehet bennük találni.Ezért értelmesek pl. az alábbiak:
Serial.available();
Serial.read();
Serial.peek();
Serial.flush();
Serial.setTimeout(1000);
Serial.find("vege");
Serial.find(10);
Serial.find("vege",10);
char c ;
Serial.find(c);
char charBuffer[20];
Serial.readBytesUntil(c,charBuffer,10);
uint8_t uint8_tBuffer[20];
Serial.readBytesUntil(c,uint8_tBuffer,10);
String str1;
str1 = Serial.readString();
str1 = Serial.readStringUntil(c); -
Janos250
őstag
"Akik minimum 2 db ESP32-t használnak és ezek egymással kommunikálnak (hogyan teszik, Bluetooth, ESPNow, más?), plusz netre is akartak csatlakozni esetleg, ők milyen lehetőséget tudtak használni? "
Mint már többször írtam, nekem neten lóg egy szerver, ahova be lehet jelentkezni az egyik porton, és egy másik porton megy a http lekérdezés, hogy kiféle, miféle van épp bejelentkezve. Ez nem javaslat, csak infó.
-
Janos250
őstag
"Ezt úgy érted, hogy mindegy hogy én a bemásolt task-ot core 0 vagy core 1-re teszem, a wifi fogadása mindenképpen a core 0-án, a háttérben történik? Tehát ha én egy client.read vagy client.readStringUntil meghívást csinálok, akkor már nem a klienstől fog olvasni, hanem egy már háttérben beolvasott bufferből szedi ki az adatot? "
Igen, én így tudom.
"a core 0-ra nem tehetek semmit?"
Én szoktam, ez csak egy ötlet volt, hátha..
Vagy szintén csak ötlet, a delay(10) megnagyobbítása mondjuk 100-ra. Tudod, kísérletes tudományKözben itt töprengek.
Ha jól emlékszem, az ESP az 1-es csatornán forgalmaz. Esetleg más csatornán? Úgy rémlik, valahol azt is meg lehet adni, de nem emlékszem pontosan, hol.
Nálam az egyik projekt egy erősen "zajos" wifi környezetben gyakran hibázik, de kisebb forgalmú helyeken hibátlan. Tudod, csak ötletek, kellő kritikával fogadd!Közben megtaláltam:
bool softAP(const char* ssid, const char* passphrase = NULL, int channel = 1, int ssid_hidden = 0, int max_connection = 4);
-
Janos250
őstag
Én mit néznék meg először:
1. Kiíratnám serialre azt az adatot, amit el akarok küldeni
2. Hogy a szenzor biztosan elvégezte-e a mérést. Nem tudom, milyen szenzor, de van, aminél kiadom a mérés parancsot, utána várni kell egy kicsit, mire tényleg olvasható.
De ez csak egy halk tipp. -
Janos250
őstag
"Resistor selection varies with devices on the bus, but a good rule of thumb is to start with 4.7k and adjust down if necessary. I2C is a fairly robust protocol, and can be used with short runs of wire (2-3m). For long runs, or systems with lots of devices, smaller resistors are better."
"Since the devices on the bus don’t actually drive the signals high, I2C allows for some flexibility in connecting devices with different I/O voltages. In general, in a system where one device is at a higher voltage than another, it may be possible to connect the two devices via I2C without any level shifting circuitry in between them. The trick is to connect the pull-up resistors to the lower of the two voltages. This only works in some cases, where the lower of the two system voltages exceeds the high-level input voltage of the the higher voltage system–for example, a 5V Arduino and a 3.3V accelerometer."
-
Janos250
őstag
"The pullup resistors pull the line high when it is not driven low by the open-drain interface.
The value of the pullup resistor is an important design consideration for I2C systems as an incorrect value can lead to signal loss. In this article we show the simple equations for the pullup resistor calculation which the system designer can use to do quick calculations for their design."
http://www.ti.com/lit/an/slva689/slva689.pdf -
Janos250
őstag
"Panasonic NCR18650B"
Jó választás, tényleg tudja 3000 mAh feletti értéket. Mértem."BSS670S2L"
Majdhogynem bármilyen NPN FET-et használhatsz, aminek nem magas a "Gate threshold voltage" értéke. Ez az a küszöbfeszültség, ahol a FET elkezd nyitni.
Pl. IRL sorozat. A tokozás lehet gond, mert a nagy áramúak TO220, a kisebb áramúak (pl. BSS670S2L) többnyire SMD. Attól függ, Neked melyik a jobb.
Lehet, hogy egy olcsó BS170 is megfelelne, de abban nem vagyok biztos. -
Janos250
őstag
-
Janos250
őstag
Igazad van! :-) Rajtad kívül ezt még senki nem vette észre, hogy rossz a rajzjel. Az már így marad.
Igen, a tokon belül a szubsztrát az S-el van összekötve. Szerencse, hogy nem a kapcsolásban van hiba, hanem a rajzjelben. :-)
Gondolom, copy-paste, S és D átírva, nyíl meg maradt. -
Janos250
őstag
Srácok!
Használta már valaki a CH341A chipen alapuló eeprom programozó valamelyik fajtáját?
Nagy nehezen sikerül letöltenem drivert és programot is, de egymást nem szeretik win 8.1 alatt
https://www.ebay.com/itm/EZP2010-USB-Highspeed-Programmer-SPI-Support-24-25-93-EEPROM-Flash-Bios-Chip/262770540506?hash=item3d2e583fda:g:AXAAAOSwZW5aOehf
valamint
https://www.ebay.com/itm/1PCS-USB-Programmer-CH341A-Series-Burner-Chip-24-EEPROM-BIOS-Writer-25-SPI-Flash/223021931206?epid=16020495169&hash=item33ed249ac6:g:kgMAAOSwi0RbJrOz -
Janos250
őstag
válasz
Teasüti #8983 üzenetére
Elég sokban. Mindkettőnek megvan a maga területe. Az analizátor csak digitális jelek értelmezésére képes, de arra igen jól. Van benne néhány protocol, ezért aszerint is ki lehet íratni a jobb oldali képernyő részleten.
Régebben egyszer a címezhető leddel kapcsolatban tettem fel egy képernyő képet, de most nem találom, de a Saleae videója elég jól mutatja. Viszont vigyázni kell, hogy melyik verziójú szoftvert teszed fel, mert a legújabb végleges verziók nem mennek a klónnal. Az eredetivel persze igen.A szkóphoz hasonlóan kell használni, bekötni. Itt is csak belehallgatsz. Szintén elég nagy a bemeneti impedancia, pontosan nem tudom mennyi, de nekem eddig nem okozott gondot.
" Open-drain, open-collector?" Azok kimenetek.
-
Janos250
őstag
Az én gyanúm:
rossz lábat használsz, mert a lábak elnevezése enyhe káosz.
Én elsőként megpróbálnék ugyanazon a lábon egy ledet villogtatni, aztán ha az megy, akkor meg megnézném a forgalmat
https://www.ebay.com/itm/24MHz-USB-Logic-Analyzer-24MHz-8-Channel-Compatible-to-Saleae-ARM-FPGA-M100/253558684848?hash=item3b09467cb0:g:uoQAAOSwHdVa5UkKVagy tennék be részeredmény kiíratást a 94-96 sorokhoz.
https://github.com/claws/BH1750/blob/master/BH1750.cpp -
Janos250
őstag
"Nem szeretném mindig újra megadni a kliensnek, hogy melyik IP-re csatlakozzon. Az lenen a jó, ha bekapcsolom akkor az ismert cím alapján a szervert egyből felismerje mindenféle plusz felhasználói beavatkozás nélkül."
Ha nem akarod valami miatt Vargalex által írtat alkalmazni:
Nem akarom ide ismét bemásolni, de ami linket korábban küldtem, abban:
31-33. sor
62-71. sor -
Janos250
őstag
Ha tovább kíváncsiszkodsz, itt megnézheted:
[telnet szerver minta]
Ha ennél is tovább, akkor privátban küldök egy IP címet és port számokat. Valami telnet programmal (pl. putty) belépsz duplán, s amit az egyik ablakban begépelsz, a másikban visszajön. A web szerveren meg plusz infókat látsz. -
Janos250
őstag
MQTT szerver része - tudtommal - nincs megfelelően kidolgozva ESP-re, csak linux alá, pl. Pi-re.
Küldés:
Én a következőt csinálom:
Van egy ESP32 szerver, amire neten (akár helyi WiFi-ről, akár az ország másik feléből) lehet küldeni adatokat, és minden bejelentkezett kliensnek továbbküldi, azok meg értelmezik, hogy kell-e ez nekik. Nem azt mondom, hogy ez Neked jó, ez csak egy példa, amit én használok. A bejelentkezettek küldhetnek is, és elküldésre kerül a bárki által megosztott adat (Pl. másik ESP32-ről, windows alól putty-al, stb) -
Janos250
őstag
válasz
Teasüti #8922 üzenetére
"Ha generic FTDI csatolót használok, ahhoz meg kellenek a gombok is."
Elvileg nem, mert azon is ott van a DTR és RTS láb.
A "ck" programozási mód éppen azért olyan népszerű, mert kiküldi a DTR és RTS lábakon a boot módba állításhoz szükséges jeleket. Ha beköti az ember. Ha nem, akkor kézzel kell boot módba állítani kapcsolóval. Tehát, ha a converteren van DTR, RTS, akkor bekötve nem kell gomb, ha nincs rajta, vagy nem kötöd be, akkor kell gomb. Mellesleg én kézzel szoktam boot módba állítani. -
Janos250
őstag
válasz
Teasüti #8890 üzenetére
"a flash memóriának fixen le vannak fogva azok a portok, amin pl az UART2 is van."
Az UART2 (más elnevezéssel UART1, ha 0-val kezdjük, ahogy a manual is teszi) mehet a default lábakra,
de Te is megadhatod, hogy hova menjen. Tehát az UART portok (is) azon a lábakon vannak, amelyiken akarod.
Ezt szoftverből tudod megadni, de a fkash memória külön IC, tehát az definiált, hogy a modulon belül melyik lábhoz van kötve.
A perifériák irányítgatásáról (GPIO matrix) is van egy félben lévő leírásom, majd ha kész lesz, felteszem a netre az egyéb ESP32-es szösszeneteim sorába."ki honnan veszi az ESP32-ket?"
Én is mindenkinek azt javasolom, hogy az ESP-WROOM32 alapút vegye!Apropó, nyák! Úgy alakult, hogy nekem is kell sajátot csinálnom. Te egyszer leírtad, hogy hol csináltatod, de nem találom. Küldenél egy linket újra,
Kösz. -
Janos250
őstag
Elvileg az olvasással a tényleges állapotot kell olvasnia.
Próbáld a setup-ban egyszer beolvasni, Serial-re kiírni, és látod, mi van.
Ha nem a kapcsoló tényleges állapotát írja ki, akkor rosszul van bekötve a kapcsoló, vagy a mozgásérzékelő.
A mozgásérzékelő korábban kap áramot, tehát addigra már stabil? (táp ráadáskor az enyém aktív állapotba kerül) -
Janos250
őstag
Én hardver hibát gyanítok, hogy nem jól van bekötve a kapcsoló.
Írasd ki az if előtt a digitalRead értékeket!"csak VBA-s logikával próbáltam felépíteni, de szerintem nem így működik a HA függvény a HA függvényen belül."
De, ugyanaz a logika, és így működik, ahogy gondolod.
-
Janos250
őstag
válasz
Teasüti #8865 üzenetére
Erre gondoltál?
/* ESP32 3 UARTs */
// HardwareSerial Serial(0); ez nem kell, mert a HardwareSerial,cpp fájlban benne van,
// automatikusan pédányosítódik
HardwareSerial Serial1(1);
HardwareSerial Serial2(2);
// Choose two free pins
#define SERIAL1_RXPIN 12
#define SERIAL1_TXPIN 13
void setup() {
Serial.begin(115200);
Serial1.begin(9600, SERIAL_8N1, SERIAL1_RXPIN, SERIAL1_TXPIN);
Serial2.begin(4800); // pin 16=RX, pin 17=TX
}A begin-ben lehet lábat megadni.
-
Janos250
őstag
válasz
Teasüti #8862 üzenetére
Elővettem egyet (doit , ESP32 devkit V1, mert ez van kéznél)
Van rajta egy sárga 107J tantál kondenzátor (https://www.ebay.com/itm/10PCS-6-3V-100UF-B-case-107J-10-SMD-Tantalum-Capacitors-3-5mm-2-8mm/391354380476?hash=item5b1e89f0bc:g:y5QAAOSw5dNWhitt)
Mellette két kisebb kondi felirat nélkül
Az USB csati kozelében látok egy kondit, egy fekete nemtudommit, egy csomó ellemállót, 2 db. J3Y tranyót, és két ledet.
A tokozott hibridben (ESP-WROOM-32) a kapcs. rajz alapján van több mint egy tucat kondi. -
Janos250
őstag
válasz
dangerzone #8854 üzenetére
Harmincezer?
Kellene egy "hajam égnek áll" szmájli. Ha C++-hoz valamicskét értesz, akkor én a következőt javasolom:
Keresd meg az arduino rendszerben a main.cpp-t, egyből érteni fogod, mi az a setup, és mi az a loop függvény. Aztán nézd meg, mely objektumok vannak tőled függetlenül előre definiálva (Pl. Serial), és annak az osztálynak mik a tagfüggvényei. (Pl. Serial.println() ). Nézd meg a pin kezelő függvényeket, pl digitalWrite( , ). Ha ezzel megvagy, már tudod alapszinten programozni. Ha elakadsz a programmal, ne arra gondolj, hogy "mit lehet az Arduinoban", hanem, hogy "mit, hogyan lehet a C++-ban". A hardver további programozása némileg hardver függő is, bármennyire próbálták is univerzálisra csinálni. Persze az alap dolgokat használó programok gyakorlatilag bármelyik lapon ugyanúgy mennek, mert az Arduino alapfilozófiája, hogy ha egy procit illesztenek a rendszerbe, akkor ugyanazokat az osztályokat, függvényeket kell rá kidolgozni ugyanúgy, ahogy az az eredeti Arduino lapon (Pl. UNO) van.
Lapok:
Én javasolni nem javasolok, csak szempontokat mondok:
A régebbi procikkal készült lapok feléért, harmadáért (néha kevesebbért) megvehetők, mint az újabbak. Viszont az újabbak nagyságrendileg többet tudnak, később is jók lesznek. Ellenben a neten a tutoriálok jelentős része a régi lapokat említi, bár az újakkal is általában ugyanúgy megy. -
Janos250
őstag
Nem kell megijedni az IDF, freeRTOS függvények használatától arduino rendszerben, mert az is ezek felett dolgozik, általában használhatók a függvényei. (Általában, mert pl. a vTaskList() nem)
Pl.:
"The I2S peripheral supports DMA meaning it can stream sample data without requiring each sample to be read or written by the CPU."
https://espressif-docs.readthedocs-hosted.com/projects/esp-idf/en/latest/api-reference/peripherals/i2s.html -
Janos250
őstag
Én a ccountot olvastam. Mivel az 32 bites, ezért kb 17 secenként átfordul, ezért kell még egy szó.
Én nem használtam interruptot, mert párszáz nanos időzítések kellettek, addig nem érte meg másra terelni a CPU-t. Ezért egyszerűen egy ciklusban olvastam, mikor éri el a szükséges értéket.
http://arduinouser.hu/esp32/ccount/ccount.txt -
Janos250
őstag
" a 2 mag egyben 240 MHz-e, tehát külön 120-120 MHz-en fog menni?"
Mindkettő külün-külön 240-en jár. Ez biztos, használtam.
"órajel pontosságról nincs információd?"
Sajnos nincs.
"Jó lenne ha fejlesztenék a kevésbé használt részeket is ESP32-nél."
Fejlesztegetik azt,
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
A legutóbbi májusi. Ez az ESP32-re a biblia.
RTC: 0x3FF4800C, 0x3FF48010 ? 634. oldaltól
A DMA-ról is van valami, a 115. oldaltól.
Ne feledd, hogy az AHB bus csak 80 Mhz-es! Mivel az összes periféria bármely pinhez kapcsolható, ezért egy - számomra - szokatlan megoldást használ, de ha beleéli magát az ember az ESP32 gondolkodásmódjába, elég jól használható.
Időzítésre én az órajel ciklusok számlálóját használtam, az a 240 Mhz miatt nagy felbontású. -
Janos250
őstag
"ESP32S az melyikhez tartozik,"
Egyikhez se! 240-en megy. Az ESP32S az ESP32WROOM hibrid leánykori neve, ami tartalmazza magát a procit, + memóriát, és pár egyéb alkatrészt.
https://c.76.my/Malaysia/ai-thinker-esp32-esp-32s-wifi-wlan-bluetooth-module-varsembedded-1703-21-varsembedded@9.jpg
https://pbs.twimg.com/media/Cuf9fLzVIAEdzo_.jpg"Ha nem RTOS-t használok"
Tudtommal bárhogy is használod - extrém alacsony szintet kivéve - mindenképpen RTOS felett dolgozol, legfeljebb nem látod, de használható a teljes apparátusa.
Ha Arduino alatt használod, akkor a WiFi a 0-n megy, a saját programjaid az 1-en, de megszabhatod, mi hol menjen. Hogy a loop hol menjen, azt a main.cpp-ben állíthatod.
"DMA-val nem nagyon találtam mintákat sajnos, kíváncsiságból pedig jó lenne." Én se, pedig én is kíváncsi ember vagyok :-)
"Ezek közül jelenleg csak az órajel a kérdéses, illetve az, hogy azt honnan veszi"
Nem tudom honnan veszi, de 240Mhz. Egyik módszerrel LED meghajtásnál én ebből számoltam az időzítést, és szkóp szerint is jó lett.
"nehézkesebb egy STM32-höz képest." Így igaz! :-(
Az RTC, azt hiszem tud használni külső 32kHz-es kristályt, de az KÜLÖN PROCESSZOR,SAJÁT UTASÍTÁS KÉSZLETTEL, SAJÁT MEMÓRIÁVAL! Azt assembly szinten programozni szintén macerás.
Egyébként az STM32-nél is muszáj megnézni a manuálban a regisztereket, ha érteni akarod, hogy mit csinálsz.
A hardver manualja már az ESP32-nek is elég jó, bár messze nem teljes, sőt, hibát is találtam benne. -
Janos250
őstag
CPU órajele 240 Mhz. Van valahol egy fájl - úgy emlékszem - ahol lehetne csökkenteni, de nem emlékszem mi, nem próbáltam.
A prifériák órajele 80 Mhz.
"Ha nem rtos-ban programozok". Tudtommal nincs kidolgozva az RTOS nélküli lehetőség ESP32-re magasabb szinten.
"DMA-t támogatja az ESP"
Úgy tudom, hogy az SPI, UART, I2S ezt használja, de mintha külön engedélyezni kellene, nem használtam.
A DMA mindenképpen csak az iRAM-ot tudja használni, tehát amit használni akarsz, oda kell helyezni.Minden, ami benne van használható, csak egyik-másik elég macerás. A Technical Refrence már elég jó, abból lehet kibogarászni, de munkás dolog regiszter szinten állítgatni az egyes biteket.
Én az RMT használatát bogarásztam ki, és tanultam meg, de bizony idő kellett hozzá. -
Janos250
őstag
válasz
vargalex #8807 üzenetére
Bocs, ez Xboynak ment volna, de már nem írom át.
Elméletben a szolgáltató a saját routerén engedélyezhet port átirányítást a belső IP-re. Mondom, csak elméletben, mert nincs tapasztalatom vele, fogalmam sincs, hajlandó-e rá a Digi. Mint ahogy azt se tudom, mennyi pénzt kér saját fix IP címért, vagy ingyen megteszi. Rémlett, hogy valahol azt írták, hogy igen. Rákerestem:
"Digi internet esetén hívjuk fel a 1272-es telefonszámot és a NAT kikapcsolását kérjük a hibabejelentő menü kiválasztása után. A mai napig működő megoldás még."
[link] -
Janos250
őstag
Ugyebár csatlakozol egy WiFi routerhez. Ennek van egy tartománya, amit használhatsz.
Gyakran a 192.168.1.1-től a 192.168.1.254-ig
Ez megvan a router gépkönyvében.uint8_t gatewayIPlocal[4] {192,168,1,1}
magának a roternek a címe, szintén a gépkönyvben van meg. Gyakran a 192.168.1.1uint8_t subnetIPlocal[4] {255,255,255,0}
: megadja a használható IP címeket. Gyakran ez. Ha igen, akkor a fenn leírt tartomány használható.
Ha a vége 128, akkor csak a 128 alatti címek használhatók. (nagyjából)uint8_t ServerIPlocal[4] {192,168,1,140}
: a hasunkra ütünk és kiválasztunk egy nem használt címet az engedélyezett tartományból. Lehet, hogy 128 alatti kell. -
Janos250
őstag
válasz
choco01 #8793 üzenetére
Így?
#define WEBport yyyyy
ESP8266WebServer WEBserver ( WEBport );
vagy ESP32WebServer WEBserver ( WEBport );
uint8_t ServerIPlocal[4] {192,168,1,140} ; //Node static IP kinek mi
uint8_t gatewayIPlocal[4] {192,168,1,1} ; // ami neked
uint8_t subnetIPlocal[4] {255,255,255,0} ;
const char* ssid = "mySSID";
const char* password = "1234567890";
void setup(void) {
WiFi.begin(ssid, password );
delay(1000); // min 1000
WiFi.config(ServerIPlocal, gatewayIPlocal, subnetIPlocal) ;
delay(1000);
WEBserver.on("/", handle_index);
WEBserver.begin();
} ;
void handle_index() {
String s = "<html>\r\n";
s += "<!DOCTYPE HTML>\r\n";
s += "<head>\r\n";
s += "<meta charset=\"UTF-8\">\r\n";
s += "<title>minta</title>\r\n" ;
s += "</head>\r\n";
s += "<body>\r\n";
.
.
.
.
.
s += "</body>\r\n";
s += "</html>\n";
WEBserver.send(200, "text/html", s);
} ; -
Janos250
őstag
válasz
choco01 #8790 üzenetére
"milyen lehetőségeim vannak"
Pl. a legegyszerűbb:
ESP32 AP, WEB szerver, és erre kapcsolódnak a szenzorok is.
Rálépsz az ő wifi hálójára telefonnal és látod.Ha kintről is akarod látni: Egy Wii routerhez kapcsolódik az ESP 32. WEB egy adott portra, amit a routerben átirányítasz az ESP-re. Így Ausztráliából is látod.
-
Janos250
őstag
"Nem pont értem, hogy mi a különbség ez, meg a thread/join megoldás között"
Gyakorlatilag semmi. Mindkettő ugyanazt csinálja, csak az egyik a szabványos C++-ban, a másik meg a freeRTOS-ben van megfogalmazva. Az xTaskCreatePinnedToCore esetén azt is megadhatod, hogy melyik magon fusson. A freeRTOS verzióban prioritást is adhatsz, ami bizonyos esetekben előny lehet. Viszont a thread/join használata egyszerűbb, de kevésbé rugalmas.
-
Janos250
őstag
Mindenkinek mondom, akik artista mutatványokkal akarnak ESP WiFi-n P2P küldeni egy karaktert - ahogy korábban én is - használjátok a WiFiClient osztályt!
-
Janos250
őstag
válasz
Teasüti #8736 üzenetére
"legkevésbé se ideális megoldás peer-to-peer használatra, az túl kényelmetlen és kompromisszumos a vezérlő eszközön, valamint bonyolultabb is a BT-nél"
Igen, WiFi-n küldeni P2P egy karaktert, bizony nagyon bonyolult:client.write(C);
Én a WiFi-t használom, de persze a BT is ugyanolyan jó, ha nem kell net. -
Janos250
őstag
Lehet, rosszat mondok, akkor bocs:
az ESP8266WiFi.cpp fájl végén van aESP8266WiFiClass WiFi;
sor. Tehát az ESP8266WiFiClass típusú, WiFi nevű objektumot hozza létre, ezért használhatjuk a programban a WiFi,begin és hasonló metódusokat.
Nem tudom, soha nem próbáltam, enged-e több ESP8266WiFiClass objektumot létrehozni, de én ezt próbálnám ki:ESP8266WiFiClass WiFi2;
.
.
WiFi2.begin(ssid, password );Gőzöm nincs, hogy működik-e.
Ha csak időnként kellene az egyikre írni, időnként a másikra, akkor én ezt próbálnám:
Bezárnám WiFi.end()-el, és némi várakozás után megnyitnámWiFi.begin(ssid, password );
másik ssid, password párossal. -
Janos250
őstag
Lehet, nem jó példa a szálakra, de példa:
http://arduinouser.hu/esp32/AszalakEsAzESP32.pdf
Nézd meg a kiírást a serial monitoron. -
Janos250
őstag
OK, én csak azt mondtam, hogy nekem ilyenre nem volt szükségem, amire volt, arra jó volt a konverter. Mint írtam, az STM32 USB-jére se volt szükségem. Távol álljon tőlem, hogy azt mondjam, hogy ne használja. Attól, hogy én nem ismerem, ha van aki ismeri, használja, ha az jó. Ha szükségem lesz, rá, majd én is ezt próbálom ki. Jelenleg csak az RFID olvasás jut eszembe, ahol nekem jól jöhet.
-
Janos250
őstag
Igen, persze, nem is úgy értettem.
Ezért írtam, hogy pap és papné, kinek melyik. Én midig azt ajánlom, ami szerintem a jobb, de mások szerint meg más. Rengetegen esküsznek a régebbi chipekre, én nyugdíjaztam őket. Az általad javasolt verziót nem ismertem, soha nem használtam, de ha tudja az USB-t akkor az a legjobb. Használtam az STM32-ket, ajánlottam is akkoriban, mert akkoriban azt ítéltem legkedvezőbbnek. Azon van USB is, de soha nem használtam. Ha USB-re van szükségem, akkor én az USB-soros átalakítót használom. A WiFi - BL is ízlés kérdése. Én továbbra is a WiFi híve vagyok, de nagyon sokan meg a BL-re esküsznek, azt használják.
Új hozzászólás Aktív témák
Hirdetés
- 0 perces RYZEN 3 laptop eredeti Win10-zel! GARANCIA + SZÁMLA (a Te nevedre)! LEGOLCSÓBB SZÁMLÁS ÁR!
- Red Magic 10 Pro 16GB/512GB - 3 ÉV GARANCIA - MAKULÁTLAN!
- Rohnson R-9450 Steril Air UVC+ION légtisztító eladó JÓVAL ÁRON ALUL! Bolti ára kb 72ezer Ft!
- SSD-k / HDD-k ( 256gb-2TB-ig )
- Cooler Master MWE Bronze V2 750W 80 PLUS Bronze
- BESZÁMÍTÁS! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA 600W
- Giant Talon 0 Sport - Hardtail Mountain Bike
- BESZÁMÍTÁS! Sony PlayStation 4 PRO 1TB SSD fekete játékkonzol extra játékokkal garanciával hibátlan
- Nvidia Quadro P400/ P600/ P620/ P1000/ T400/ T600/ T1000 - Low profile (LP) + RTX A2000 6/12Gb
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest