Git Product home page Git Product logo

Comments (2)

TimEvWw avatar TimEvWw commented on July 18, 2024
  1. Have an LCD screen with a few buttons hooked up to the RPI with the
    couple of IO pins it has. Using the buttons you could access a menu to
    enter a new SSID and password on the device. For claiming ownership, the
    RPI could launch a request to get the list of farmbot servers. By choosing
    one of the servers, the RPi could receive a code and show it on the LCD
    screen. The user can then use that code (valid for half an hour for
    example) to register on the FarmBot site and claim ownership of the bot.
    From then one, everything can be done using the site.

On Fri, Nov 21, 2014 at 7:02 AM, Rory Aronson [email protected]
wrote:

This probably does not even belong in this repo, but we can talk about it
here until we figure out a game plan.

When a user gets a bot, it will come with an SD card for the pi with an
image of Raspbian + all the FarmBot software installed on it already.
Ideally the user would simply plug it in and it would start downloading
updates, connect with our web app, and the user could start controlling the
device. But there are a few issues:

  1. With a wifi connection, how does the pi know the network SSID and
    password?
  2. With a wifi or ethernet connection, how does the user claim ownership
    of the device once it has connected to Meshblu/the web application? Either
    they could find out the device's UUID and token and enter it in the web app
    (like now), or they could give the device a name a password in some way
    that they must also enter into the web app.

Possible solutions:

  1. Hook up a monitor and keyboard to the pi and edit files through the
    terminal or do something from the desktop environment. This is just not an
    option in my opinion. Most people don't own external monitors and keyboards
    these days, and it is a total pain to hook them up temporarily, especially
    outside! Also, I think most people would not be able to/are not confident
    enough to use the terminal.

  2. Connect to the pi via ethernet directly to a laptop and edit files via
    SSH. This is surprisingly a pain to get working not only form the pi side,
    but from the network configuration on the laptop side as well. I think this
    option is ruled out too.

  3. Use a laptop or PC to edit a text file in the boot directory of the
    pi's SD card before plugging it into the pi and booting up. It would
    contain a wifi SSID and password (if needed) and a place to enter in a
    device name and password used to claim ownership of the device from the web
    app. This may be the very easiest as all we need is a script to read that
    text file on bootup, and it is not too difficult for users to do. However,
    it requires an SD or microSD card reader to do. A potential problem is if
    one changes their wifi name or password, then the pi will lose connectivity
    and would need to be hard shutdown by pulling the plug, then the SD card
    text file would need to updated. Not very clean... However, if it lost
    connectivity, the user could just switch back their network settings to
    gain access again, and update the settings remotely via the web app.

  4. User writes a text file on a USB stick and plugs it into the pi which
    copies it automatically. Prevents the need for a hard shutdown if the pi
    loses connectivity. There may be issues with USB stick formatting or
    accessing the pi's USB ports (it may be in a tight, waterproof case)

  5. A captive portal where the pi serves up a simple webpage where the user
    can enter and read info. On ethernet, the captive portal would activate if
    the FarmBot has no name or password (first boot) and the web page would
    serve up on a certain IP that the user could navigate to from any device's
    web browser as long as they are on the same network. If the device uses a
    wifi dongle, the portal would activate on first boot or when the wifi
    credentials are invalid. In these cases, the device would create its own
    wifi network called 'Configure FarmBot' that the user could connect to with
    any device, enter in the info, then initiate a reboot. This method would
    not work if the device was using a cellular or even satellite connection.

I think 3) is an easy solution for now that supports all modes of
connectivity. 5) would be a more user-friendly layer in the future for wifi
and ethernet connections which will likely be far more common than cellular
connections.

Sorry for the long post. Thoughts or other options I haven't mentioned?


Reply to this email directly or view it on GitHub
#42.

from farmbot_os.

TimEvWw avatar TimEvWw commented on July 18, 2024
  1. Use the serial pins on the RPi. This can be linked to a USB/Serial
    convertor. This way, any laptop can easily plugged in the port and be used
    for diagnostic. The RPi software could easily send the status printout and
    provide a menu for setting up, rebooting, ...

  2. Add a bluetooth module so smart phones, tablets and laptops can be used
    to sync with the bot. The smart phone/tablet can run an app to read
    diagnostics, manual control, change settings, add a password for security,
    ... basically use it as a tricorder.

On Fri, Nov 21, 2014 at 12:37 PM, Tim Evers [email protected] wrote:

  1. Have an LCD screen with a few buttons hooked up to the RPI with the
    couple of IO pins it has. Using the buttons you could access a menu to
    enter a new SSID and password on the device. For claiming ownership, the
    RPI could launch a request to get the list of farmbot servers. By choosing
    one of the servers, the RPi could receive a code and show it on the LCD
    screen. The user can then use that code (valid for half an hour for
    example) to register on the FarmBot site and claim ownership of the bot.
    From then one, everything can be done using the site.

On Fri, Nov 21, 2014 at 7:02 AM, Rory Aronson [email protected]
wrote:

This probably does not even belong in this repo, but we can talk about it
here until we figure out a game plan.

When a user gets a bot, it will come with an SD card for the pi with an
image of Raspbian + all the FarmBot software installed on it already.
Ideally the user would simply plug it in and it would start downloading
updates, connect with our web app, and the user could start controlling the
device. But there are a few issues:

  1. With a wifi connection, how does the pi know the network SSID and
    password?
  2. With a wifi or ethernet connection, how does the user claim ownership
    of the device once it has connected to Meshblu/the web application? Either
    they could find out the device's UUID and token and enter it in the web app
    (like now), or they could give the device a name a password in some way
    that they must also enter into the web app.

Possible solutions:

  1. Hook up a monitor and keyboard to the pi and edit files through the
    terminal or do something from the desktop environment. This is just not an
    option in my opinion. Most people don't own external monitors and keyboards
    these days, and it is a total pain to hook them up temporarily, especially
    outside! Also, I think most people would not be able to/are not confident
    enough to use the terminal.

  2. Connect to the pi via ethernet directly to a laptop and edit files via
    SSH. This is surprisingly a pain to get working not only form the pi side,
    but from the network configuration on the laptop side as well. I think this
    option is ruled out too.

  3. Use a laptop or PC to edit a text file in the boot directory of the
    pi's SD card before plugging it into the pi and booting up. It would
    contain a wifi SSID and password (if needed) and a place to enter in a
    device name and password used to claim ownership of the device from the web
    app. This may be the very easiest as all we need is a script to read that
    text file on bootup, and it is not too difficult for users to do. However,
    it requires an SD or microSD card reader to do. A potential problem is if
    one changes their wifi name or password, then the pi will lose connectivity
    and would need to be hard shutdown by pulling the plug, then the SD card
    text file would need to updated. Not very clean... However, if it lost
    connectivity, the user could just switch back their network settings to
    gain access again, and update the settings remotely via the web app.

  4. User writes a text file on a USB stick and plugs it into the pi which
    copies it automatically. Prevents the need for a hard shutdown if the pi
    loses connectivity. There may be issues with USB stick formatting or
    accessing the pi's USB ports (it may be in a tight, waterproof case)

  5. A captive portal where the pi serves up a simple webpage where the
    user can enter and read info. On ethernet, the captive portal would
    activate if the FarmBot has no name or password (first boot) and the web
    page would serve up on a certain IP that the user could navigate to from
    any device's web browser as long as they are on the same network. If the
    device uses a wifi dongle, the portal would activate on first boot or when
    the wifi credentials are invalid. In these cases, the device would create
    its own wifi network called 'Configure FarmBot' that the user could connect
    to with any device, enter in the info, then initiate a reboot. This method
    would not work if the device was using a cellular or even satellite
    connection.

I think 3) is an easy solution for now that supports all modes of
connectivity. 5) would be a more user-friendly layer in the future for wifi
and ethernet connections which will likely be far more common than cellular
connections.

Sorry for the long post. Thoughts or other options I haven't mentioned?


Reply to this email directly or view it on GitHub
#42.

from farmbot_os.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.