#225
Vložit
- čas přidán 14. 09. 2018
- You want the functionality of WiFi manager, secure over the air update, and an overview over all your ESP devices wherever they are?
Two years ago, we announced IOTappstory as a Christmas gift. It was the first Appstore for IOT devices, and it worked for the ESP8266. Today we can announce that it also works with the ESP32. And it got much cooler.
The idea behind IOTappstory.com is to make it simple and secure to distribute and manage software for IOT devices over the air. Most of us implemented some connected devices in our homes. At places, we cannot easily upload new software or change parameters like passwords or access keys. And if we have more and more of those devices, we even might lose control of which software runs on which board.
The new IOTappStory.com developed by Onno and me over the last two years
- consists of a library and a Webservice
- stores and distributes software, SPIFFS files, and parameters for ESP8266 and ESP32 boards
- the distribution is done over the air (OTA)
- it has all the functions of WiFiManager like entering Wi-Fi passwords or settings
- it uses HTTPS for transport and makes sure only you can upload software to your devices
- You can monitor your devices over the network
- It works globally. You can also manage your devices in a remote location
- The footprint on your ESP is optimized because most of the functionality runs in your browser
Today I walk you through the installation and the startup of an ESP32 using IOTappStory.com.
Links:
Library: github.com/iotappstory/ESP-Li...
Discord Invite: / discord
Supporting Material and Blog Page: www.sensorsiot.org
Github: www.github.com/sensorsiot
My Patreon Page: / andreasspiess
My Bitcoin address: 19FSmqbBzb5zsYB1d8Bq4KbxVmezToDNTV
If you want to support the channel, please use the links below to start your shopping. No additional charges for you, but I get a commission (of your purchases the next 24 hours) to buy new stuff for the channel
For Banggood bit.ly/2jAQEf4
For AliExpress: bit.ly/2B0yTLL
For ebay.com: ebay.to/2DuYXBp
profile.php?...
/ spiessa
www.instructables.com/member/...
Please do not try to Email me or invite me on LinkedIn. These communication channels are reserved for my primary job
Equipment in my lab: www.sensorsiot.org/my-lab/ - Věda a technologie
Great!!! Also I love the clean reduced yet stylish UI design. THUMBS UP! And THX³ for the videos.
This thank goes to Onno. He did all the backend.
Great stuff as always, kudos for Onno and you!
Thank you!
This is a fantastic capability to have for projects. Thanks for your work and ingenuity.
You are welcome!
This is such a great concept! Thanks for sharing your work!
You are welcome!
Waw, this is awesome ! Congratz with all the work and effort that went into this project.
Thank you!
Your Swiss accent is so sweet and very compelling. I am so influenced to learn deep in the subjects though you just explains thoroughly. You are an amazing learned person with a very sweet positive attitude. Thank you.
You are welcome!
Andreas,
I would like to thank you and Onno for this great product and service. I would also like to thank your Discord moderator Christiaan for the outstanding support.
I discovered IOTAppStory quite by accident last night and have been hammering away ever since. I did run into some obstacles along the way but Christiaan was there to answer my questions and investigate solutions and make sure I was successful in getting things up and running.
I now have 4 ESP32 test devices receiving updates on your platform and plan on adding many many more.
Outstanding job!
Glad to see that you are happy with the support!
Wow, amazing. Well done Andreas!
Thank you!
Nice! I am going to give this a try Andreas. Great job.
Thank you!
Great as always !
Thanks!
Thanks for sharing 😀
As interesting as allways 👍😀
Thank you!
great stuff, keep up the great work
Thank you!
This is revolutionary! Thank you very much ;)
You are welcome!
Greetings Mr P!
you made my day mate !!!!
Thank you!
Great work sir👍..
Thank you.
WOW. Thanks awesome! Danke Andreas! =)
You are welcome!
Great! Many thanks Andreas!
And not to forget Onno. He did most of the work. Thanks!
Many thanks to him :)
great idea!
Thanks!
That is exorbitant great!!!!!!!!!!!!!!! Thank you for all Makers!
You are welcome!
Thank you so much.
You're welcome!
This is an amazing setup. I think way ahead of its time. I hope it gains some traction.
Thank you!
This is great, one more reason now to push libraries and sketches towards non blocking, event based programming. I have no worries that you can help the community in there !!!
Maybe I will do a small refresh in using interrupts in the future.
Andreas because of you I learnt arduino program in a very easy way, you job with this it is amazing I can't say how grateful I'm from your work with blog, videos and now with IoTappstory.com.
Thank you for your nice words!
Great Andreas,
Thanks for another great video...
Ofcourse I have a different use case :-). I'm in the middle of a refit of our sailing boat with the intention of going blue water sailing in approx two years time. The refit (on the electrical and electronics side) is based around an open source project called OpenPlotter comprising everything one needs on a sailingboat when it comes to navigation sw all in an low price raspberry pi. (if you ever looked at the cost of commercial marine electronics you quickly realise that open source is the way to go)...
My sensors (and all relays and such) are controlled from the Raspberry Pi with nodes based around esp8266 and esp32's often in water tight enclosures to be protected from the elements during sailing. Protocol is mqtt and control sw openred. One of the hazards being on the sea is obviously thunderstorms and lightning and I'm stocking spare electronics in small Faraday cages ( tin boxes with vaccum sealed plastic bags inside) I will also regularly back up all sw to a removable media stored in the same way....
I want to be able to update my node sw while sailing and we are frequently out Internet coverage so I would need a local cashing of the ota loadable binaries as most certainly if we have an outage we will not be in an Internet friendly place... I really need to go ota as well as at least one of my esp's is up in top of the mast (some 17 meters up).
Of course I could resolve this by a totally local ota installation but at the same time I really like the functionality you are providing and would ofcourse like to have both...
I've seen other comments here from other users looking for a totally local implementation but I'd love to use your cloud based service with all its bells and whistles whilst retaining the possibility of doing a full (or partial) system rebuild whilst out of coverage...
Any chance that you could look into the possibly of providing a local cash for sw when out of coverage?
cool project, subscribed :)
For your case, I would use plain Arduino OTA because you have no internet connection on the boat and only a few devices.
Brilliant!
Thank you!
Useful video
Thank you!
I like your website Mr. Spiess, I'll be doing much experimenting.
Thank you!
@Andreas Spiess Christmas came early this year! Thank you!
:-)) You’re welcome!
@@AndreasSpiess thank you!
Really great work but I personally have a few reservations:
- The service is "free" - but how long will it work? Is it still maintained in 2 years? How about reliability?
- With this solution, my ESP goes into the cloud; I usually try to keep them out of the cloud wherever possible.
- There is an expense - benefit ratio; I guess I'll be faster with a direct OTA from the Arduino IDE with only a few ESPs.
- The "chain of dependencies" is extended considerably - and with it the source of possible errors and problems, as well as the effort for maintenance, updates, etc.
Regards
These are the usual questions about cloud services. They are valid.
instablaster
i managed to get it working. few minor problems. i had a stubborn 1.0 library burried in "documents/arduino/ which ARDUINO KEPT USING.. UGHG.. its not where i keep my libraries. so that caused some confusion. and also. the blink sketch is not magically there already. i had to find it through the wiki. but after a bit of fiddling.. i got it blinking. yay Serial output is super usefull. Great work guys, lots of potential here.
Thank you for your feedback!
Wow, looks really great!
But, is local installation of "hub" part is possible? I have ESP's at home, and I've now tuned it to use only local MQTT server - for security reasons. So as for me, ideal solution is install "hub" software on local machine, and connect all ESPs to that local machine with separate WiFi network, which will NOT have routing to/from internet. Just in case...
If you only need OTA, that is simple. You only need http server to serve static files. But a bit better to use special script or server that also will provide binary hashes (so esp8266 can check its firmware is the same as on server. esp32 do not support that in current updater).
Spiffs may be served similar. Config is different story...
This is a typical cloud implementation and the backend is not open source. Vladimir Ermakov is right, you can do a much simpler server at home. I even made a video about that long time ago.
very nice..i havent seen IOTappstory in my esp8266 travels..ill have to check this out..i was thinking about using espeasy..but this looks better for my use
I think these are quite different concepts. ESPeasy compares more with Tasmota or Espurna.
super !!!
Danke!
Hi Andreas, love your videos, always very educational. I have a video idea for when you have spare time, could you make a video on different UV sensors. I've seen so many on ebay / ali and no idea which one works well. That would be amazing ;)
Which ones do you have in mind? Can you post some links?
Once again a really useful video! On another note, I'm trying to get 2 or more esp32 devices to communicate with each other via wifi. Do you have any videos or recommendations where it's explained step by step? Cheers, keep up the great work.
I made a video about ESPnow. Maybe you try these examples if you need two way communication. github.com/leonyuhanov/ESP-NOW-TX-RX
great
Thank you!
Thank you for the great videos all the time!
If you add plain white paper in front of your youtube subscription counter display module(in this video at 06:05). It will be looking better readable :)
Thank you for your tip. Unfortunately I have to build a new one since this most probably will be too short for the future :-)
🆒 Thank you so much for uploading this video.
👍👍👍👍👍
Sharing with community 🇵🇰
:-)
So Great !
I wonder to know how to do it locally (via IP or AP), I care about that.
Have a look here: esp8266.github.io/Arduino/versions/2.3.0/doc/ota_updates/readme.html
I think your looking for Arduino IDE OTA
Looks very interesting! Can we have the sources/buildlog for iotappstory ? Would really prefer to host this myself.
The backend is a hosted cloud service and closed source, at least for the moment.
@@AndreasSpiess can I use this for my business
Great project - exactly what i was looking for!
I may need to update more than 20 devices for a future project...
Is there any way of increasing the device limit to 100+?
Obviously with a contribution towards the server storage space / maintenance..?
Thanks Andreas!
We think of creating a "professional" version. If you are interested, please contact Onno on Discord.
Hut ab, die Plattform sieht sehr robust aus.
Hoffen wir, dass es auch so ist. Zumindest HTTPS sollte die user etwas beruhigen. Die meisten heutigen IOT Clouds werdenden das ja noch nicht.
As always, great stuff. Thanks so much for all of this. It makes our lives easier. I have three questions: 1. You say: "don't block the loop" , e.g. with delay statements. I won't use delay statements for blinking any more. Check. But what about a subroutine for instance, which goes into a long for...next loop and won't return back to loop() for a few seconds? or running a webserver on the ESP which is processing a user request? Is there a limit or if not: best practice on how to do this? 2. if for some reason one messes up the new version of the firmware file which - after ESP has called home - leads to a "bricked" ESP* somewhere out there. Is there a chance for recovery without having to go to the devide physically? 3. Do you know of a way how to store a firmware binary on the SPIFFS which one could then (in case #2 happened) load into the operative memory of the ESP by pressing a button somewhere on the device? Like a "reset to factory default" button? This would get you back into operation at least... br, andreas.
1. You have to include a Yield() command in all loops. Better one more than one less ;-)
2. The ESP should make sure it is not bricked. It only starts to copy the received FW if it is sure it is ok.
3. If it is bricked, you have to go there and connect it to Serial
4. no, I do not know of such a "boot loader"
Dear Andreas, as always thanks for another interesting video. The platform looks very interesting and mature. One question though: Does it support RTOS?
It is a normal Ardiuino IDE library. But it should be easy to port it to RTOS if you know this platform. The Backend can support Multi-Hard- and Software.
Has it been two year since we talked. How time flys passed. Have a great week Andreas.
Yes, times flies by. Have a nice week, too!
Wonderful video as usual. well done Andreas and thanks you sooooo much for your teaching. We have been learning so many things from you.
I'd like to use this nice tool to distribute update to my clients. But I must ensure that my code remains protected. Does encryption possible? I want that only my ESP32 can upload and interpret the App.
It uses HTTPS as a communication protocol with the backend.
I had faith that you were working on something serious and not just firing nails around the place. Very impressive.
A little fun between "serious" work is necessary even for a man my age ;-)
Thank you! I thought you were impressed by the LoRa antennas I presented in one of my mailbags.
Congratulations for this project!
I presume that it is not possible to have access to the source code of the IAS Server to install it locally (on a private RPi for instance)?
The backend is a hosted cloud service and closed source, at least for the moment.
Very cool!
Ps. In the security left menu, small typo: security & saftey
Where is this?
@@AndreasSpiess corrected now ...
Thanks for your ideas and your effort. Just Two Questions/notes:
1. Restart after Blackout when the router is still down
2. legal: distributing bin without source
1. I thought to have a stable and robust "frameware" for my ESP8266 projects. 490 days uptime was good. But after an excavator driven brownout of the mains grid the ESPs returned faster than the router. So they did not enter the normal mode and I had to drive 200km to bring them back to their router. Now I modified the boot procedure so that they cyclically pass by the Wifi loging.
2. I know that we are Artists and refer to freedom of arts. But I had to learn from kinda troll that several open source licences seem not to allow to distribute only bins of open source based projects. It seems that you always has to distribute your source Code, too. I am not a lawyer but please check in time before anybody tries to start discussions.
I have had the same problem with power outs, can you explain how you do "cyclically pass by the Wifi loging"?
I do not use the WiFi Manager but use the Serial console to get WiFi credentials. originally I used WPS which worked just fine until an update of my router (FritzBox) or of the ESP-framework. Then WPS stopped working with ESP8266. So I switched to the Serial console to ask for the credentials.
After Restart ESP tries to connect for maybe 1 minute to connect the WiFi using the last working credentials. If this does not work it tries to get an answer from the Serial Input. After 2 minutes without an input the ESP restarts. So, you have the chance to (initially) enter the credentials or if you do not (because the ESP is not connected to a terminal program) the ESP will retry to connect WiFi every few minutes.
Most probably you can use this strategy also with the WiFi Manager or WPS instead of Serial console.
With a newer Firmware of my router + ESP8266 WPS works again. But I did not reinstall this again and stick with the Serial console for the initial bringup.
1. If I remember right: If the ESP does not get an answer from "home" it continues. But it loses some time where it waits for an answer. This is why we included a manual update method for critical applications where you only want to update in a particular situation and under human control. Then you have no automatic call home. Only if you press a button.
2. The bin file in all products is distributed differently than the source code (usually in the flash of the product). Nobody says you must not publish your source code on Github or elsewhere if your license agreement forces you to do so. I think this is the responsibility of the creator (we are like the internet providers, we only transfer bits). But I am not a lawyer, too ;-) And these days these responsibilities in the EU seem to change on a daily basis.
@@asiw I guess instead of just having the login to WiFi in the init, then if it falls we are doomed ...
Put it in a loop, perhaps in main()
until(connected) {do_connect(); if(! connected()) {delay(5000);}}
(Pseudocode)
Congratulations, you are the best!!!.
Andreas, how can I know when I have a new version of file.bin? Which is the line of code?
IOTappstory knows that. It checks if you "call home"
Nice article, can you give video for aws ota auto-update
I never used AWS, wo I have no knowledge there.
Hello Andreas, thanks a lot for your great work and contributions to the maker community.
You mentioned something about a subscription edition in your platform, however i didn't find it. Is that service already available?
Greetings from Mexico
It is "under construction". So, on a one-to-one basis for the moment. If you are interested, maybe you contact Onno on Discord?
Hello@@AndreasSpiess, thanks for the reply. I'll contact Onno within this week.
Hi Andreas! Great work! I have a question for you. I want to do a project to handle all the home lights with a mobile app. So i want to use one esp32 for each switch and make a dual communication with a custom API hosted in some server and then communicate the API with the mobile app. it is possible to make that? or i need an extra component like a Raspberry to be an intermediate between the esp 32 components and the cloud.
For sure it is possible, if you want. Maybe you look into Tasmota first?
@@AndreasSpiess Ive never heard about Tasmota, i will look it. Thank you!
👍👏
:-)
Off topic: Did you ever make a video about the doppler radar mentioned in #181 @ 12:58? The one with two mixers which can also tell the direction of movement? I have been looking for the video, but found nothing. (Don't click the time stamp, won't work)
No. We never used it so far.
It looks good. Two questions though:
1. Does it solve the major problem with v1 that it wiped out all config settings at every update?
2. As others have said is the platform itself open source? What would happen if your colleague stops hosting the site?
this is now optional
iotappstory.com/wiki/arduino-esp/library-api-20/api-methods/begin()
Hi Gavin,
1. As Christiaan mentioned.
2. We intend to keep developing this. But if we ever have to stop we will release the site / service to Github.
@@onnodirkzwager3537 You guys could release a community version with the minimum features and keep secret a enterprise version with all you want. The community just need the very basics to run locally, nothing too special. If we decide it's great we will improve it and make push requests, for sure. I would love to test it locally, but only if I have the source for eventual problem with the project. The design of the UI needs a help to get it more modern, this could be tackled by someone else other than you guys: the community! Thanks a lot for the effort and Great job!!
@@cwlbroeders It was optional in v1 but never worked. I am hoping it has been fixed in v2.
@@onnodirkzwager3537 see number 2 is a big worry, certainly for anything one makes and gives away/sells where one can no longer easily get it back to reflash with new ota code should the service cease to exist.
It is a good idea but one needs a great deal of confidence in its longevity for it to be really useful.
This point is amplified when I see that the code contains the hard coded CA for the domain for HTTPS. What happens if this certificate expires or through some security event is revoked and a new certificate chain issued? Will all devices cease to update until manually loaded with new code containing the new root CA?
Amazing work... Is there a way to pull channels/stations from a dedicated site.. eg radio.garden..
Not that I know of
@@AndreasSpiess thank you for your response.. stay safe..
Hello. Do you have example of OTA through GSM cellular connection?
No.
i guess this would still work with deep sleep "out of the box"? like my "mail delivery button" for instance? but would of course require the wakeup... in order to check in for updates etc?
It works with deep sleep. But you have to think about how you call the update function only every month or so to save energy.
Great as usual.
Questions:
1) you said remove Serial.begin in setup(?). Cant we have serial communication? Or i have miss understood
2) do I always need Internet connected to esp and my PC or mobile? Is server on ESP or on your internet network?
3) can we use Blynk along with IOTAS?
Thanks a lot for hardwork and giving it to creators :).
1) serial is already called so there is no need to start it again, it works out of the box :)
2)internet connection is needed for OTA update, not for operation of your own sketch
3) cant awnser this one as i am not familiar with blynk (checking it out now, thx :) )
JUST what i've been looking for, love you guys ! now i have to learn not just uploading any code and overwriting everything ;-) the whole OTA-Thing remains somewhat fragile, can we flash the IOT-APP- Stuff to the Bootloader? ;-)
I am not sure. But if you new sketch does not include the IOTappstory code it will never call home and you are in a dead end. Please use Discord if you need more help. We try to concentrate the support there. Thanks and good luck!
@@AndreasSpiess thank you, will do, see you there ;-)
just got it all working, i'm almost shocked how well everything was thought through ...
This is Dutch-Swiss Engineering;-)
This is Dutch-Swiss Engineering;-)
Hi Andreas, thank you for the useful videos.
I wonder if you could cover how to set up without a physical button to send into config mode?
Thanks
877
I once used a reed-relay with a magnet. But you have to give the processor a sign.
Andreas Spiess Great idea, thanks. I look forward to your upcoming videos :)
This is really very cool, is it possible to install IOTappstory on a Raspberry Pi? This would be really great.
No, the backend is a Cloud service.
wouldn't using yield() instead of delay() convert the standard blink sketch to be non-blocking?
Then you LED would blink very fast because yield() does not take any time...
I'm sorry, I got confused. You are of course right that yield() almost immediately returns.
guess my question was:
I am under the impression that the Arduino-on-ESP frameworks have implemented delay() in such a way that they call yield() - which should take care of the background WIFI tasks - and IIRC on either ESP32 or ESP8266, even attend pending webserver requests - which would make using delay() on ESP safe and non-blocking.
Or am I remembering wrong?
Non blocking means that your sketch always executed the whole loop in max speed. As my example shows. If you add a delay the code is blocked there and cannot do anything else.
Hello Andreas Spiess. I Write in English and not in German as usualy for me, because of your many english subscribers, so they can understand as well. As it isn't my main Language, pls ignore some Grammer misstakes :P . Is there a posibility to setup this service/Server on an local Hardwaresolution, as i would like to ensure so the safety and lock the connectivity in my home network to ensure no external atack. A Sharing service like yours is still prety likle for helpin other creators, but as only the functionality is given saftey hasardes, i would like to do the service by my self in my home. Is there some Sourcecode for self made servers in sight or have you thought of locking only it to this public service? Thx for your repley.
Hallo Andreas , danke mal für deine Mühe hier.
Irgendwo hängt es nun in der Bibliothek IOTAppStory.h
Habe das ESP32 Bord (Arduino IDE) auf die 1.0.1 geupdated . Jetzt gibt es nur mehr Fehler beim kompilieren.
Zurück auf 1.0.0 geht wieder alles
Dank dür die Rückmeldung. Vielleicht schaust du mal auf Discord vorbei ob andere ebenfalls ähnliche Probleme haben. Und Onno ist sicher auch daran interessiert...
Great service! Started using it a few days ago. But now I can't access the IOTappstory.com server nor my Control panel. Both take too long to respond and page times out? Is it still running?
It should run. Maybe you go to the Discord channel. Onno will help you.
4:18 I use Mac, so there's no problem for me!
:-)
hi, could you make a video of how to save some values to eeprom on esp8266 or esp32 and NOT overwrite any settings like wifi credentials etc from your Loader sketch?
no need for a seperate video for that, when u try one of the examples and look at the serial console u will see where all the data is stored in the eeprom section
Here is an example of searial output from some code im working on now, this is the feedback from the IAS library
*-------------------------------------------------------------------------*
rtcMem
bootTimes since powerup: 1
boardMode: N
*-------------------------------------------------------------------------*
Processing added fields
ID | LABEL | LEN | EEPROM LOC | DEFAULT VALUE | CURRENT VALUE | STATUS
01 | Update timer:Turn on | 001 | 0511 to 0514 | 0 | 0 | WRITTING TO EEPROM
02 | Update every | 008 | 0516 to 0526 | 600 | 600 | WRITTING TO EEPROM
03 | Led Pin | 002 | 0528 to 0532 | 2 | 2 | WRITTING TO EEPROM
04 | pwr1 Pin | 002 | 0534 to 0538 | 4 | 4 | WRITTING TO EEPROM
05 | pwr2 Pin | 002 | 0540 to 0544 | 12 | 12 | WRITTING TO EEPROM
06 | pwr3 Pin | 002 | 0546 to 0550 | 14 | 14 | WRITTING TO EEPROM
07 | pwr4 Pin | 002 | 0552 to 0556 | 16 | 16 | WRITTING TO EEPROM
*-------------------------------------------------------------------------*
Connecting to WiFi AP
WiFi connected
=======================================================================
Please note the EEPROM LOC colomn, highest address is 556, so everything up to 4096 is free to use for me at the moment
i keep a little spare room for future added config settings and start my data from 1024
hope this clarifies things :)
Maybe you ask Onno on Discord where he stored his values?
Do I have to open a port in my router for this?
https is used, so u should not need to open any extra ports, just normal traffic
Interesting! But I moved from the Arduino IDE to ESP-IDF for the ESP32 because it has more functionality (like Secure Boot and flash encryption, which make sure nobody can upload a malicious code to your board).
We are preparing to support ESP-IDF in the future.
But your more than welcome to experiment! IAS works by sending .bin files to your ESP and we dont care who or in what language it was compiled.
Yes, that's true! Would have to adapt the library, though.
So it is nothing for you. Unless you port the library (which should not be too complicated)
You could start of by experimenting with just an basic ota example.
Onno Dirkzwager Actually, I already have working OTA updates. In fact, I made a shell script (that's why Unix-like systems are the best) which compiles and moves the file to the server folder. Then I update the version number on the version info file, which is downloaded by the ESP32 and automatically updates itself when there's a new version.
I have another question, how can I dissable the Wifi Manager part? I use wpa2 enterprise with user, password and certificates, so I dont know how to register the board and add to a project without connecting to my board in AP mode
Maybe you ask these questions on Discord. You should get an answer there.
@@AndreasSpiess Thank you Andreas, you are making an awesome work, i'm watching all your videos, continue like this.
can i upload my project on it using 0TA_Template_Sketch.ino the way u have explained in video #332?
Maybe you go to the discord channel of the project?
Great Job, Andreas! I am getting to the Device Registration page, give it a name, select the board type, click on "Next" and nothing happens. I am stuck there. Any idea what went wrong?
There is a discord channel where you get help. The address is on the home page of IOTappstory.com ( iotappstory.com/wiki/arduino-esp/troubleshooting/issues,-help-discussion )
@@AndreasSpiess , thanks for pointing me into the right direction. I have posted the issue there. Hope someone can figure it out
wow
:-)
now Andreas.. maby you could do a video on non blocking code... my code is... well lets just say pretty sequencial in nature and blocking. i use delays like skittles :o)
If you look at my code shown in the video you see how you can avoid delays. This would be a 10 seconds video ;-)
would small "housekeeping" delays, say less than 1000ms be considered "blocking" in a disabling manner ?
Yes
Can we pay for unlocking more devices? Or the limit is always 20? Thank you very much
Late in the video he mentions purchasing higher service levels. I can't find ANY information on the site on how to do that though or what the "higher" levels actually are. Probably ask on the Dischord server
@@John_Ridley Thank you John. What is the Dischord server?
@@imatek5795 He mentions it in the video and the link to it is in the description.
As usual, the link is in the video description
Hi. I tried to signed up. But still didn't receive any confirmation email. Is there any problem?
I do not know. Maybe you go to hte Disscord channel. There you should get support.
Hallo,
ich habe eine Frage als Anfänger.
Wenn ich meinen sehr komplexen eigenen Sketch einbinden möchte, der auch leider nicht non Blocked ist, geht das dann auch?
Dieser Sketch hat auch mehrere Funktionen. Wo müssten die dann hin?
Danke und Gruss
Frannk
Der code darf nicht blokieren. Bei mehreren Funktionen verwendet man häufig ein switch case statement um die einzelen Funktionen anzusteurern Switch (gewünschte funktion) und dann ein case statement für jede Funktion. Der Sketch loopt dann immer durch dieses case statement und führd die entsprechende Funtion aus. Vielleicht Googlest du mal "State Machines"
Hallo, danke für die Antwort. Ich habe es mit Switch Case gelöst. Habe noch eine Frage. Ich habe das calling home auf 300sec eingestellt. Ist es richtig, das der Sketch nach dem calling Home auch bei keinen neuen Update immer neu startet?
Gruss
Dein ESP weiß ja erst wenn er call home ausgeführt hat, ob eine neue Version vorhanden ist. Deshalb Würfe ich im produktiven nur täglich oder weniger die Funktion ausführen.
Is it possible esp32 OTA using sim800l?
Maybe you find a project. I do not know of one.
Is this for mobile phone only ?
No. Just to do the setup works better with a mobile. Afterward you do not need any phone.
Error compiling for board DOIT ESP32 DEVKIT V1. Overall great video, I am starting right away to use it but I have to ask how far is your mic in your guts?! I can hear all fluids in your body....please fix this because you created an emotional rollercoaster...
Can I use this for my product
Thank you for your feedback!
Cant find it.
All I can find is the old IOTAppstory-8266
There was a problem with Arduino and we hoped to solve it till today. But it did not happen. So you have to download it from GitHub until it is solved. The link is in the description.
OK thanks.
Also getting issue with ESPAsync
Currently running through github to find it
You will find all the links here:
iotappstory.com/wiki/arduino-esp/general/prerequisites
I've got them all but the M5stack (esp32) is not connecting to my network for some reason.
I'm new to esp32, I need the OTA feature and the secure boot feature. I assume that OTA will work in same way with programmed eFUSE for the secure boot (like described in medium.com/the-esp-journal/understanding-esp32s-security-features-14483e465724), am I right?
If I need OTA I use the IOTappstory.com service. So far I had no need for secure boot.
@@AndreasSpiess , the problem is that i need to protect my software while providing a lifetime upgrade for my end product. I plan to make a multieffect pedal using esp32-a1s from ai-thinker, it has 24bit stereo codec inside the module, so i can easily implement guitar and microphone input for voxoder or guitar-vocal harmonizer. I prefer the native esp-idf for the development tools. I see esp-adf provide audio codec management in its driver but i'm not sure if it provide full support for all codec settings.
I am getting App not found / no longer exists / not compatible
in the logs
Maybe you watch my newest video on IOTappstory or go to their homepage
You say that we should not use blocking code, but... what if a library uses Delays?
If they are short they probably do not hurt. Otherwise you have to replace them.
I can't compile the IASLoader sketch. It logs this error:
...\Documents\Arduino\libraries\IOTAppStory-ESP\src/IOTAppStory.h:16:77: fatal error: AsyncTCP.h: No such file or directory
The IOTAppStory library has some dependancies, the AsyncTPC is one of them.
iotappstory.com/wiki/arduino-esp/how-to-get-started/prerequisites
Please join us on discord if u have any problems
I'm thinking about an idea. I want to create a device that communicates with other. Let's say an esp8266 with a button and another one with a led. If I press the button I want the led to be turned on or off. It is easy but... What if I want it to work anywhere in the world? I will need a cloud service for storing the desired led status.
Is there any free service for this? If not, I was thinking on using something like an IMAP account on some free email service or something like this.
Any ideas?
Can iotappstory provide a little storage space (a few bytes) for projects like this? (May be in exchange to sharing the project with free license)
The data could be transferred in the the same request of the query for updates. Then, it will not use extra bandwidth or connections.
I used google calendar for a similar goal. There is no such concept in IOTappstory for the moment
You can setup an mqtt server (e.g. mosquitto on a raspberry pi) and connect it to the internet. Use some free dynamic DNS service (e.g. changeip.com) to access it from anywhere.
Don't forget security (SSL).
mydevices.com/ ... Cayenne platform, it's exactly what it is for... and it's free.
@@AndreasSpiess I have a solution for my project. I just got working an IRC client. The modules will chat each other through an IRC channel. As soon as I get the project working I will upload it to iotappstory.
Hi Andreas, I can not seem to find a link to contact someone to help me with a website related problem on iotappstory.com. I suspect that my static ip is blocked by the server and can not access iotapstory.com from my home network. Any help available?
There is a Discord channel for support. You should find a link on the home page
:)
i am getting the following error C:\Users\imran\OneDrive\Documents\Arduino\libraries\IOTAppStory-ESP\src\espressif\updateNextion.h:6:27: fatal error: ESPNexUpload.h: No such file or directory
but the file is availbale at that particular position
Maybe you place the issue in the support discord channel. You find the link on IOTappstory.com.
Can not compile IASLoader any more
I get a compile error " error: 'U_SPIFFS' was not declared in this scope
command = U_SPIFFS;" I can't figure out why this just started happening after several successful compiles and uploads to a NodeMCU 1.0 (ESP 12 Module) . Before this latest compile error, I was able to upload IASLoader several time, however, I was not able to get the board to call home for the new binary. I was trying to resolve that issue when the compile errors started.
I'm using the following versions: IOTAppStory 2.0.2
ESP Arduino Core 2.7.1
IASLoader 1.2.0
Maybe someone can point me in the right direction to help me out.
Maybe you use the newest version and their discord channel for support.
Thank you Andreas. I just wanted to let you know how much I have enjoyed your channel. Your a very smart man and have a lot of energy. I have learned a lot but have to watch several times usually to get the basics. thank you.
I checked the versions this morning and everything except the ESP-Library were up to date. I deleted the old ESP-Library and IOTAppStory and reinstalled ESP-Library (github.com/iotappstory/ESP-Library zip file). That install gave me IOTAppStory-ESP V 2.1.0-RC3.
I compiled and loaded the IASLoader with one change to IAS.preSetAutoUpdate(true); I successfully uploaded the sketch and configured my new ESP8266 NodeMCU on IOTAppStory web site. So the IASLoader worked. YEA!
Now the issue is the same as I had several days ago where the NodeMCU never calls home to get updates. -- I set up a new IOTAppStory project with my new board and the binary of the "off the shelf" IASBlink sketch. But, the new board never calls home with the time interval AutoUpdate (60s) or with the GPIO0 to GND switch.
I will look into the discord support channel. Maybe I'll see you there.
Thanks, D
Hi, not working for me, after I connect to 192.168.4.1 (with my cell phone) I receive "Connect with received credentials
..........
Failed, try again!!!
But the credentials are Ok. I am using Wemos esp32.
It happened also once or twice to me. But trying a second time solved the problem.
Sir, I am getting a message in serial monitor as "Calling Home
Checking for App(Sketch) updates from: iotappstory.com/ota/updates.php
SPIFFS Partition Not Found
Returning from IOTAppStory.com
"
Could you please to figure out where i got the mistake
There is a support channel on discord. You find it on the homepage.
first of the non-patreon viewers
How to port forward local mqtt server running on raspberry pi to internet
If you want to use a local server from the internet you have to open the ports in your firewall to reach it.
Thanks
@@AndreasSpiess how to set up my own Matt server at home which could be acces over Internet
Is anyone else getting multiple library errors?
please check if the prerequesits are met
iotappstory.com/wiki/arduino-esp/how-to-get-started/prerequisites
And plz join us on discord if u have further problems :)
discord.gg/GKNNTtr
Hi , it dosent seam to work. I get this error. what eaver i do
My board is a Wemos D1 mini Version 2.3.0
IAnd i hav tryet to compile it as a wemos D1 mini R2 and and just the D1
But i get this.
Arduino: 1.8.7 (Windows 10), Board: "WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)"
Build options changed, rebuilding all
In file included from C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\ESPhttpUpdateIasMod.cpp:29:0:
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\ESPhttpUpdateIasMod.cpp: In member function 'bool ESP8266HTTPUpdate::handleUpdate(HTTPClient&, int, bool)':
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\ESPhttpUpdateIasMod.h:57:49: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\ESPhttpUpdateIasMod.cpp:46:4: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(PSTR(" Error: Received Content-Length header is %d"), len);
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\ESPhttpUpdateIasMod.h:57:49: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\ESPhttpUpdateIasMod.cpp:67:5: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(PSTR(" Error: Not enough space (%d) update size: %d"), freeSpace, len);
^
exit status 1
In file included from C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:1:0:
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp: In member function 'void IOTAppStory::begin(char)':
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:185:3: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_MODE_SEL_BTN, _modeButton, config.deviceName, _updateOnBoot);
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp: In member function 'void IOTAppStory::printPref()':
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:314:3: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_BOOTTIMES_POWERUP, rtcMem.bootTimes, rtcMem.boardMode);
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp: In member function 'void IOTAppStory::runConfigServer()':
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:378:4: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_CONFIG_AP_MODE, config.deviceName);
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp: In member function 'void IOTAppStory::processField()':
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:918:5: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(PSTR(" %02d | %-30s | %03d | %04d to %04d | %-30s | "), nr, fieldStruct[nr-1].fieldLabel, fieldStruct[nr-1].length-1, eeBeg, eeEnd, (*fieldStruct[nr-1].varPointer));
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:944:7: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_PROC_TBL_OVRW, eepVal);
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:950:7: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_PROC_TBL_DEF, (*fieldStruct[nr-1].varPointer));
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:956:6: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_PROC_TBL_WRITE, (*fieldStruct[nr-1].varPointer));
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp: In member function 'void IOTAppStory::eraseFlash(int, int)':
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.h:58:48: error: 'class HardwareSerial' has no member named 'printf_P'
#define DEBUG_PRINTF_P(...) { Serial.printf_P(__VA_ARGS__); }
^
C:\Users\Allan\Documents\Arduino\libraries\IOTAppStory-ESP\src\IOTAppStory.cpp:1065:3: note: in expansion of macro 'DEBUG_PRINTF_P'
DEBUG_PRINTF_P(SER_ERASE_FLASH, eepFrom, eepTo);
^
Error compiling for board WeMos D1(Retired).
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Maybe you head over to discord for support. I think you are using the old 1.0 version of the library.
@@AndreasSpiess No its the only version installe, now i have compile Error i see it as \ not /