Close

Zbyšek Voda

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 15 příspěvků - 16. až 30. (celkem z 203)
  • Autor
    Příspěvky
  • odpověď na: dron s multiwii #11555
    Zbyšek Voda
    Správce

    Dobrý den, jak se chyba projevuje?
    Píše něco IDE? Nějakou chybovou hlášku?

    odpověď na: Nodemcu Arduino IDE #11312
    Zbyšek Voda
    Správce

    Je to nějaké podivné. Když jsem program znovu zkompiloval, tak vyžaduje signaturu
    int wifi_send_pkt_freedom(uint8 *buf, int len,bool sys_seq) (stejná je i v dokumentaci).

    Tedy buf má být opravdu jenom jednoduché pole. Tak jste to asi i na začátku měl, ale házelo to ten podivný error.
    Nakonec se mi povedlo přes chybu dostat zápisem
    if (wifi_send_pkt_freedom(packet, packetSize, 0) == -1) {
    tak jste to ale asi na začátku měl, tak nevím.

    Btw. v kódu chybí funkce setup a loop, což se překladači taky nebude líbit.

    Takto mi to hlásí jen chyby neexistující loop a setup funkce. https://codepaste.net/us7qgo.

    odpověď na: Nodemcu Arduino IDE #11311
    Zbyšek Voda
    Správce

    Tak zkuste ještě wifi_send_pkt_freedom((uint8_t**)&packet, packetSize, 0)

    odpověď na: Nodemcu Arduino IDE #11303
    Zbyšek Voda
    Správce

    Používáte funkci int wifi_send_pkt_freedom(uint8**, int, bool);
    Tato funkce má první parametr ukazatel na ukazatel na uint8. Popřípadě se dá také interpretovat jako pole ukazatelů na hodnoty typu uint8, nebo ukazatel na pole (což asi je případ, který potřebujete).

    Vy ale této funkci předáváte jenom pole, ale ne ukazatel na pole.
    Řekněme, že máte něco jako:

    byte data[] = {1, 2, 3, 4, ...};
    wifi_send_pkt_freedom(data, x, y);

    Místo data zkuste zapsat &data, tedy:
    wifi_send_pkt_freedom(&data, x, y);

    Znak ampersand (&) značí, že chcete získat adresu dané proměnné. Ukazatele jsou vlastně adresy.

    Většinou stačí přeložit hlášku:
    cannot convert ‘uint8_t* {aka unsigned char*}’ to ‘uint8** {aka unsigned char**}’ for argument ‘1’ to ‘int wifi_send_pkt_freedom(uint8**, int, bool)’
    můžete číst jako
    Nejde převést uint8_t* na uint8** v prvním argumentu funkce wifi_send_pkt_freedom(uint8**, int, bool)

    uint8_t* = ukazatel na typ uint8_t / pole uint8
    uint8_t** = ukazatel na ukazatel na uint8_t / pole ukazatelů na uint8_t / ukazatel na pole uint8_t

    Pokud to nepůjde, pošlete sem kód 🙂

    odpověď na: EBook – nelze stáhnout #11260
    Zbyšek Voda
    Správce

    Na úvodní stránce je formulář, kam dáte email a přijde vám kniha.

    odpověď na: Komunikace Ard. Mega 2560 a PC přes COM #10956
    Zbyšek Voda
    Správce

    V tom výpisu IDE žádnou chybu nehlásí. Podle čeho soudíte, že program nefunguje?

    Když nahrajete blikání LEDkou, tak bliká?

    odpověď na: aktualizování firmwaru přes uart #10955
    Zbyšek Voda
    Správce

    Pěknou přednášku o Arduino bootloaderu a jeho modifikacích měl Petr Stehlík na posledním Install Festu – https://www.youtube.com/watch?v=6_1VQvVuFf8&feature=youtu.be&list=PLub6xBWO8gV_t_p-5-J_qU20fkkDtsLjB. Třeba byste se mohl nechat inspirovat 🙂

    odpověď na: Komunikace Ard. Mega 2560 a PC přes COM #10909
    Zbyšek Voda
    Správce

    Dobrý den, Honzo,
    problémů může být více, musíte poskytnout víc informací.
    – jaké webové IDE používáte?
    – jakou desku máte (nejlépe s odkazem, odkud jste ji koupil)
    – hlásí editor při nahrávání nějakou chybu?

    odpověď na: Else problém #10634
    Zbyšek Voda
    Správce

    V C++ může středník vystupovat i jako prázdný příkaz, takže if (C >= 4); vlastně znamená – když C je větší nebo rovno 4, udělej nic.

    { } označují blok kódu, takže to programu nijak nevadí, ale poté následuje else, které přímo před sebou musí mít if.

    odpověď na: ESP8266 server/klient #10621
    Zbyšek Voda
    Správce

    Mělo by být možné sehnat knihovnu, která umí posílat přímo SQL dotazy do databáze. Viz například http://drcharlesbell.blogspot.cz/2013/04/introducing-mysql-connectorarduino_6.html.

    odpověď na: ESP8266 – Nefunguje spojení #10561
    Zbyšek Voda
    Správce

    Také jich mám pár doma a snad všechny v sobě AT firmware měly. Spíše byl problém s rychlostí komunikace. Měl jsem za to, že je tam AT vždy, ale máte asi pravdu, že někdy je Číňan nepředvídatelný.

    odpověď na: ESP8266 – Nefunguje spojení #10546
    Zbyšek Voda
    Správce

    Ano, potom stačí z Arduino programu posílat do ESP tyto AT příkazy přes Serial.println(„“); 🙂

    odpověď na: ESP8266 – Nefunguje spojení #10544
    Zbyšek Voda
    Správce

    Když si necháte to zapojení, které zmiňujete v prvním postu:

    ESP8266 –> Arduino Mega ADK
    TX –> RX1
    RX –> TX1
    3V3 –> 3.3V (V Arduinu)
    EN –> 3.3V (V Arduinu)
    GND –> GND
    GPIO0 –> GND

    ,tak si pak do loop() dejte

    while(Serial.available()) Serial1.write(Serial.read());
    while(Serial1.available() Serial.write(Serial1.read());

    Toto by mělo přeposílat mezi sériovými porty sdílenými s PC a porty RX1 a TX1. Toto mám ozkoušené (dokonce i na ADK) a dá se tak ESP ovládat.

    Ty errory, co vám to píše, jsou způsobené tím, že se nahrávací software nedokáže „zkontaktovat“ s EPS8266. Asi za to může to, co psal Aleš.

    odpověď na: ESP8266 – Nefunguje spojení #10541
    Zbyšek Voda
    Správce

    Pokud vám jde jen o to, abyste přes ESP připojil Arduino k WiFi, tak je ESP z výroby vybaveno firmware, který přijímá přes sériovou linku AT příkazy, přes které jej lze ovládat. Viz http://www.pridopia.co.uk/pi-doc/ESP8266ATCommandsSet.pdf.

    Pak není nutné nijak měnit firmware ESP. Na druhou stranu jsou AT příkazy trochu neohrabané. Existují knihovny, které pracují nad AT příkazy, takže vám ulehčí práci při ovládání ESP – viz například https://github.com/itead/ITEADLIB_Arduino_WeeESP8266.

    odpověď na: ESP8266 – Nefunguje spojení #10532
    Zbyšek Voda
    Správce

    Dobrý den, teoreticky by to možné bylo. To, čeho chcete dosáhnout, je použití sériového převodníku Ardina pro naprogramování ESP. Určitě tedy musíte mít připojené ESP na piny RX0 a TX0 (ty jsou pro sériovou linku z PC).

    Pak je tam ale další problém. Arduino vám bude do programování „kecat“, protože se i ono bude snažit komunikovat přes sériovou linku. Toto se řešilo tuším rezistorem mezi RST a GND u Arduina, ale bohužel se mi teď nedaří najít podrobnosti. Rezistor by měl dočasně vyřadit Atmegu na Arduinu z provozu, aby se nemíchalo do sériovky.

    Asi bych vám doporučil pořídit si převodník USB-Serial. Ušetří vám to spoustu starostí 🙂

Aktuálně je na stránce zobrazeno 15 příspěvků - 16. až 30. (celkem z 203)