mirobot / mirobot-arduino Goto Github PK
View Code? Open in Web Editor NEWThe Arduino code for running Mirobot
License: Other
The Arduino code for running Mirobot
License: Other
Hello,
I try to compile the Arduino Firmware on my own under the most recent Arduino 1.6.12.
Is there somewhere a script or description, which directories need to go where, so the linker is able to find all libraries?
Thanks for any hint.
Kuno
It would be nice to be able to draw arcs with Mirobot. Still need to figure out a reasonable way of specifying the arc radius and length that will make sense via the UI. e.g.
{"cmd":"arcleft", "arg":[50, 100]}
would draw a 50mm radius arc, curving to the left for 100 degrees
Is there a missing commit in HotStepper repository ?
/home/alx/arduino-1.0.3/libraries/Mirobot/Mirobot.cpp: In member function ‘void Mirobot::stop()’:
/home/alx/arduino-1.0.3/libraries/Mirobot/Mirobot.cpp:76: error: ‘class HotStepper’ has no member named ‘stop’
/home/alx/arduino-1.0.3/libraries/Mirobot/Mirobot.cpp:77: error: ‘class HotStepper’ has no member named ‘stop’
Pen up/down doesn't pause the wheel motion, so loop(pen up; move ten; pen down; move ten;) doesn't make an even dashed line.
It would be nice that the moveTo command used in PointAndClick app is moved from web to Arduino code so it can be directly called and reused in other arduino programs.
I just got my mirobot yesterday.
I built it and it works 60 % of the time I tried it.
I updated the UI and it worked fine, but it was still reasonable unstable. I kept getting this error message in the UI - something like "Can not reconnect to Mirobot "
In UI writes the "Firmware Version : unknown " - and has always done so.
I had to do something ...
So I did what you must not do - clicked the update-arduino-button. Now Arduino keeps flashing, and nothing works: -(
What should I do ?
P.S.
I do not have a USB to serial cable
Best regards
Morten
Hi,
I've got some issue on accessing Mirobot wifi AP, it doesn't appear in available networks and I've not found documentation about this part on your project, do you know what could go wrong ?
I've got USR-WIFI232-T Serial to WIFI Module : http://www.ebay.fr/itm/USR-WIFI232-T-Serial-to-WIFI-Module-Support-WPS-Smart-LINK-802-11-b-g-n-/231212668073?_trksid=p3984.m1439.l2649&ssPageName=STRK:MEWNX:IT
Compiling examples/manual_example/manual_example.ino fails because mirobot.setup() is expecting a Stream& argument.
Changing the code to mirobot.setup(Serial) resolves it.
Running the code doesn't draw. The motors run for a short time, as if everything is happening asynchronously then it hits the delay loop. Calling mirobot.setBlocking(true) after mirobot.setup(Serial) didn't change the behaviour.
Hi @phenoptix
I've got a Mirobot PCB v2.1 which doesn't generate the typical Mirobot AP.
The Arduino LED blinks (two pulses short pulses and a pause), but the ESP only blinks once on power and stays off since then on.
What is the step by step process of testing/debugging/fixing this ?
I've checked votage and the ESP gets 3.27V which I hope it's good enough.
I've tried fresh batteries (1.5V / 1.2V) and also 5V 2A from USB just to test:
that didn't make a difference.
I've cloned this repo and tried to compile however I'm getting some errors:
/Users/George/Documents/Arduino167/libraries/Marceau/src/lib/ESPAsyncWebServer/WebAuthentication.cpp:22:28: fatal error: libb64/cencode.h: No such file or directory
compilation terminated.
Using library Mirobot at version 3.1.1 in folder: /Users/George/Documents/Arduino167/libraries/Mirobot
Using library Marceau at version 0.0.1 in folder: /Users/George/Documents/Arduino167/libraries/Marceau
Using library EEPROM at version 2.0 in folder: /Users/George/Downloads/ArduinoDownloads/Arduino1.8.9.app/Contents/Java/hardware/arduino/avr/libraries/EEPROM
exit status 1
Error compiling for board Arduino Pro or Pro Mini
The manual firmware update instructions only point to Arduino firmware, but not the ESP module. I've tried changing the board definition to ESP8266 however I ran into linking errors:
/Users/George/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-gcc -g -w -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -L/Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lib -L/Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/ld -Teagle.flash.512k64.ld -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy -o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/firmware-v2.ino.elf -Wl,--start-group /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/sketch/firmware-v2.ino.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/Mirobot.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/lib/Base64.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/lib/Discovery.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/lib/HotStepper.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/lib/SerialWebSocket.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/lib/ShiftStepper.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Mirobot/lib/sha1.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/Comments.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/Encoding.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/IndentedPrint.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/JsonParser.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/List.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/Prettyfier.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/Internals/StaticStringBuilder.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/JsonArray.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/JsonBuffer.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/JsonObject.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ArduinoJson/JsonVariant.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncTCP/AsyncPrinter.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncTCP/ESPAsyncTCP.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncTCP/SyncClient.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncTCP/tcp_axtls.c.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncWebServer/AsyncWebSocket.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncWebServer/WebAuthentication.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncWebServer/WebHandlers.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncWebServer/WebRequest.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncWebServer/WebResponses.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/ESPAsyncWebServer/WebServer.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/MarceauWeb.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/MarceauWebSocket.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/MarceauWifi.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/EEPROM/EEPROM.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/ESP8266WiFi.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/ESP8266WiFiAP.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/ESP8266WiFiMulti.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/ESP8266WiFiSTA.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/ESP8266WiFiScan.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/WiFiClient.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/WiFiClientSecure.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/WiFiServer.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266WiFi/WiFiUdp.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/DNSServer/DNSServer.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Ticker/Ticker.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Wire/Wire.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266httpUpdate/ESP8266httpUpdate.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/ESP8266HTTPClient/ESP8266HTTPClient.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Hash/Hash.cpp.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Hash/sha1/sha1.c.o /var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/arduino.ar -lm -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lcrypto -lmain -lwps -laxtls -lsmartconfig -lmesh -lwpa2 -llwip_gcc -lstdc++ -Wl,--end-group -L/var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095
/var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/MarceauWeb.cpp.o:(.text._ZN21MarceauRequestHandler13handleRequestEP21AsyncWebServerRequest[MarceauRequestHandler::handleRequest(AsyncWebServerRequest*)]+0xc): undefined reference to `webFiles'
/var/folders/_x/0s9167b564ggdycvd_5tvrtr0000gn/T/arduino_build_34095/libraries/Marceau/lib/MarceauWeb.cpp.o:(.text._ZN21MarceauRequestHandler13handleRequestEP21AsyncWebServerRequest[MarceauRequestHandler::handleRequest(AsyncWebServerRequest*)]+0x18): undefined reference to `webFileCount'
collect2: error: ld returned 1 exit status
Using library Mirobot at version 3.1.1 in folder: /Users/George/Documents/Arduino167/libraries/Mirobot
Using library Marceau at version 0.0.1 in folder: /Users/George/Documents/Arduino167/libraries/Marceau
Using library EEPROM at version 1.0 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/EEPROM
Using library ESP8266WiFi at version 1.0 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi
Using library DNSServer at version 1.1.0 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/DNSServer
Using library Ticker at version 1.0 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/Ticker
Using library Wire at version 1.0 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/Wire
Using library ESP8266httpUpdate at version 1.1 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266httpUpdate
Using library ESP8266HTTPClient at version 1.1 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266HTTPClient
Using library Hash at version 1.0 in folder: /Users/George/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/Hash
exit status 1
Error compiling for board Generic ESP8266 Module.
How would I perform a firmware update on the ESP ?
(Do I simply hook to the Arduino Pro Mini with an FTDI Cable while the ESP is connected ?
Is there a different process ? )
Any tips are more than welcome :)
Looking forward to your advice,
George
Could we get some directions for updating Mirobot firmware in the readme? Can I update mirobot-ui without updating the mirobot-arduino, or should versions be in sync?
(maybe you could help me at mozfest this weekend)
May You please add the commands to read the collision-sensors and the line sensors ?
This would allow much additional functionality ( For example in Blockly )
Thank You very much
When Mirobot has been used from a WebSocket connection, and then from a Raw Socket connection, the first response from the raw connection gets sent out wrapped in a websocket frame.
When changing direction, there is some play in the stepper motors which adds inaccuracy to the route. Add a few steps to take up the slack before running the command.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.