Use a small camera equiped vehicle to explore tight but vast spaces.
Remotely control by wifi.
This is very slow going: Every single feature is a problem and needs to be solved with a great effort.
However there is progress. :-)
In the last three weeks:
Next stop: Try stepper motors.
Problem: Normally these are big or very big and most require much more current power.
What I did and improved in the last two weeks:
Now there are some problems still or newly open:
But still: Something moves remote controlled!
A replacement esp32 board arrived and the car now actually does something (desired).
I now have:
Next steps: Android app for finer control and home-made PCB (properly designed).
The short wire roughly in the middle actually did short with the pin below.
After ditching the attempts on bluetooth and 3 hours of soldering and sawing I got a very first prototype that shows off image transfer (WiFi now) and tests lighting and overall performance. It incorporates a revolutionary wooden mediator board that enables connection to a swan neck. ;-)
So I can very proudly present the very dirty (of course) view at the space behind my washing machine.
After pushing that one back in its corner (below the kitchen work surface) I wanted to check if I bent any of the tubes. Now I can.
> I know now this device is "classic bluetooth" but I hoped / guessed that modern bluetooth implementations would also support that...
Alas the ESP32 BLE library does not do that. And also a quick low level test didn't work.
> The problem(s) I have now for several hours though: How can I guarantee that data transfer is finished before closing the request?
It turns out that it was not the reply but the handling of the request that prompted Firefox to always show "connection broken": One needs to actually read the request to satisfy Firefox.
With that in mind serving a captured image works ok. With an HTTP-Refresh it even updates continually.
I tried and researched my bluetooth problems for a few hours more: The HZ-RM1 will not be found by ESP32 (BLE library).
I know now this device is "classic bluetooth" but I hoped / guessed that modern bluetooth implementations would also support that...
I had however some success with the camera:
I ordered an ArduCam (2MP model) and got that connected to the ESP32. I tried for some time to use the hardware spi (HSPI) but then the ESP does not boot anymore if the MISO pin is connected to the cam. It works however with the VSPI pins.
I patched together some example code from the examples of ArduCAM and the ArduCAM ESP32 code (old one) and some wifi and webserver examples.
With this the camera is accessible and can capture and provide an image. I serve that with a simple webserver on my local wifi for any request.
The problem(s) I have now for several hours though: How can I guarantee that data transfer is finished before closing the request?
The most I can achieve at the moment - with some luck - is that the browser gets and shows the complete image in the network monitoring view. The browser page itself *always* shows a "connection broken" though.
I ordered and received an ESP32 now for my bluetooth experiments.
I want it to connect to my HID device (a Hizek HZ-RM1). A sort of handheld joystick which would be ideal as a remote control.
Alas after 5 hours: no show.
I used/tried the "BLE_scan" example of the ESP32 integration in Arduino IDE. This seems to work (upload and output) but it only finds zero to one devices (maybe from neighbors) but not the ones I am testing with.
My smartphone on the other hand has no problems finding and connecting them...
I found a small snag with my plan:
> I want to explore the raised floor in our office and search for mice.
What if the device breaks down or gets stuck while doing it? It would be unreachable for any conventional means.
And I can imagine quite a lot of reasons for it getting stuck. Especially during the beta test runs...
So it either must have really good (intelligent, self-driving) recovery features or at least a small leash to tow it back.
On the bright side: Others faced this problem too: I.e. Mars and asteroid exploration devices.
> The JY-MCU should show up for other bluetooth devices (ie for my computer). However it took 30 minutes until it did that.
The reason might be that the 3.3V from the esp8266 with which I powered the JY-MCU is not enough to power it properly. Directly with the battery (3.9V) it works better.