Hello Farmbot forum,
As part of our final project of engineering studies, me and my team are currently trying to operate the Farmbot without requiring an internet connection, we have almost no network at the location where we installed the Farmbot and we can’t relocate it.
To allow a correct usage, we have decided to install the Farmbot application on a server next to it, without a network gateway between both. But that’s where it goes wrong, as it’s impossible to get a communication between the Raspberry and the server.
To give you a detailed overview of my work, I will first summarize the current state of the Farmbot:
So, we have:
- An Ubuntu 18.04 server with the Farmbot application installed and usually functional (server launched, can be accessed via a web page and get the Farmbot control interface, as on the official website). Its IP address is 192.168.1.1 in static.
- A Farmbot consisting of a Raspberry pi with Farmbot-OS 6.4.11 and a Farmduino with Farmduino-OS Genesis v1.4, it gets its IP address via DHCP (usually 192.168.1.24).
On the server we have added a DHCP server for IP configuration and the WireShark application in order to be able to observe the communication between the two devices.
The installation process we are using is:
- Flash the SD card of the Raspberry with the latest version of Farmbot-OS.
- Insert the SD card into the Raspberry and put it in the box.
- Connect the Raspberry and the Farmbot server through an Ethernet connection.
- Run the application on the server and access the web page locally to see any changes in connection status, as well as for the WireShark application that points to the Ethernet network card.
- Power up the Raspberry and wait for the availability of the Raspberry’s Wi-Fi access point.
- Configure the Raspberry via a browser on a Smartphone (DHCP for the Raspberry, static server address, account configured as in the application, …)
- The Raspberry accepts the configuration and we detect a communication on the Ethernet connection (DHCP discovery, ARP search, TCP communication, DNS, …).
- The Raspberry remains blocked in this state and never restarts, by forcing restart, the error "server not found" appears on the Raspberry configuration page.
To try to get more information we tried to activate the console on the Raspberry when we connect a keyboard/screen, the controls do not respond but by searching on the net we found that it was due to a configuration that had to be done in the ROOTFS partition of the Raspberry’s SD card, but because of the file system type used (squashfs) the partition is read only.
Since we can’t get more information from the Raspberry, we have decided to focus on the server with the incoming frames.
We noticed several surprising things in the communication, for example TCP frames start with an " END " and are intended for a different IP address than the one defined for our server, the frames are configured as host 192.168.24.1 and receiver 192.168.24.6, when the network that is used is 192.168.1.0. (Also 192.168.24.1 is the address used to configure the Farmbot when the Raspberry Wi-Fi hotspot is enabled).
And only TCP frames wants to use this network, the rest of the frames are on the 192.168.1.0 network (ARP, ICMP, DNS)
Finally, my questions are so:
Is it normal for the Raspberry card to try to communicate on a network that is not defined?
Is it normal that there are not more frames passing through the network? Why do we get an "END" frame at first?
We would also like to contact people who have already successfully configured a Farmbot server locally to discuss this issue.
Thank you for taking the time to read our post and we hope you will be able to help us.