Doc updates

pull/547/head
connor rigby 2018-05-16 16:00:32 -07:00
parent 711d25f0eb
commit 5518fbbbcb
No known key found for this signature in database
GPG Key ID: 24DC438382965C3B
5 changed files with 26 additions and 41 deletions

View File

@ -1,3 +1,5 @@
# Changelog
# 6.4.2 # 6.4.2
* Remove `hostapd` * Remove `hostapd`
* Remove a lot of custom Logger code. * Remove a lot of custom Logger code.

View File

@ -1 +1,2 @@
# Contributing
To get started, <a href="https://www.clahub.com/agreements/FarmBot/farmbot_os">sign the Contributor License Agreement</a>. To get started, <a href="https://www.clahub.com/agreements/FarmBot/farmbot_os">sign the Contributor License Agreement</a>.

View File

@ -3,11 +3,14 @@
[![Built with Nerves](http://nerves-project.org/images/badge/nerves-badge_75x39_black.png)](http://nerves-project.org/) [![Built with Nerves](http://nerves-project.org/images/badge/nerves-badge_75x39_black.png)](http://nerves-project.org/)
--- ---
# FarmBot OS
The "brains" of the FarmBot Project
<!-- DON'T CHANGE THE TEXT BELOW. It is used in documentation links. --> <!-- DON'T CHANGE THE TEXT BELOW. It is used in documentation links. -->
# :floppy_disk: LATEST OS IMAGE DOWNLOADS # :floppy_disk: LATEST OS IMAGE DOWNLOADS
<!-- DON'T CHANGE THE TEXT ABOVE. It is used in documentation links. --> <!-- DON'T CHANGE THE TEXT ABOVE. It is used in documentation links. -->
## _*Important*_ # _*Important*_
For now we are only building and supporting Raspberry Pi 3. Pull Requests are very welcome For now we are only building and supporting Raspberry Pi 3. Pull Requests are very welcome
if you spot a bug or fix, but for now we suggest obtaining a Raspberry Pi 3 for the best support. if you spot a bug or fix, but for now we suggest obtaining a Raspberry Pi 3 for the best support.
@ -17,9 +20,6 @@ if you spot a bug or fix, but for now we suggest obtaining a Raspberry Pi 3 for
| :star: **[RPi 3 (Ships with FarmBot.io kits)](https://github.com/FarmBot/farmbot_os/releases/download/v6.4.1/farmbot-rpi3-6.4.1.img)**| | :star: **[RPi 3 (Ships with FarmBot.io kits)](https://github.com/FarmBot/farmbot_os/releases/download/v6.4.1/farmbot-rpi3-6.4.1.img)**|
--- ---
# Farmbot OS
The "brains" of the FarmBot Project
## Installation ## Installation
Installation should be fairly straight forward, you will need a computer for this step. Installation should be fairly straight forward, you will need a computer for this step.
(everything after this can be set up on a mobile device.) (everything after this can be set up on a mobile device.)
@ -50,16 +50,16 @@ _Refer to the [software documentation Configurator page](https://software.farm.b
\* If you are using a smartphone you may need to disable cellular data to allow your phone's browser to connect to the configurator. \* If you are using a smartphone you may need to disable cellular data to allow your phone's browser to connect to the configurator.
# Problems? ## Problems?
See the [FAQ](docs/FAQ.md) See the [FAQ](docs/FAQ.md)
If your problem isn't solved there please file an issue on [Github](https://github.com/FarmBot/farmbot_os/issues/new) If your problem isn't solved there please file an issue on [Github](https://github.com/FarmBot/farmbot_os/issues/new)
# Security Concerns? ## Security Concerns?
We take security seriously and value the input of independent researchers. Please see our [responsible disclosure guidelines](https://farm.bot/responsible-disclosure-of-security-vulnerabilities/). We take security seriously and value the input of independent researchers. Please see our [responsible disclosure guidelines](https://farm.bot/responsible-disclosure-of-security-vulnerabilities/).
# Want to Help? ## Want to Help?
[Low Hanging Fruit](https://github.com/FarmBot/farmbot_os/search?utf8=%E2%9C%93&q=TODO) [Low Hanging Fruit](https://github.com/FarmBot/farmbot_os/search?utf8=%E2%9C%93&q=TODO)
[Development](CONTRIBUTING.md) [Development](CONTRIBUTING.md)

View File

@ -1,8 +1,9 @@
# Building FarmBot OS
# Building an Image from source # Building an Image from source
This project is written in the programming language Elixir and built using the This project is written in the programming language Elixir and built using the
Nerves Project framework. Nerves Project framework.
# Cloning ## Cloning
Farmbot OS now bundles and builds the [Arduino Firmware](https://github.com/farmbot/farmbot-arduino-firmware). Farmbot OS now bundles and builds the [Arduino Firmware](https://github.com/farmbot/farmbot-arduino-firmware).
This is bundled as a `git` submodule. You can choose to do one of: This is bundled as a `git` submodule. You can choose to do one of:
`git clone https://github.com/FarmBot/farmbot_os.git --recursive` `git clone https://github.com/FarmBot/farmbot_os.git --recursive`
@ -13,12 +14,12 @@ git submodule update --init --recursive
``` ```
To initialize the repository. To initialize the repository.
# Before you begin ## Before you begin
You will need a number of things before we start: You will need a number of things before we start:
* A x64 bit non windows machine * A x64 bit non windows machine
* We suggest the latest OSX or Ubuntu LTS. * We suggest the latest OSX or Ubuntu LTS.
# Install dependencies ## Install dependencies
If you have the above set up you will need some software dependencies: If you have the above set up you will need some software dependencies:
* Erlang * Erlang
* Elixir * Elixir
@ -32,7 +33,7 @@ If you have the above set up you will need some software dependencies:
Following [this](http://embedded-elixir.com/post/2017-05-23-using-asdf-vm/) guide Following [this](http://embedded-elixir.com/post/2017-05-23-using-asdf-vm/) guide
will get you mostly setup. will get you mostly setup.
# Development ## Development
Most development will be done in "host" environment. This means that rather than Most development will be done in "host" environment. This means that rather than
making a change on your computer, then pushing it to the device, we can rapidly making a change on your computer, then pushing it to the device, we can rapidly
develop things from the luxury of our own machine. develop things from the luxury of our own machine.
@ -55,12 +56,12 @@ to configure (at least) two different environment/target combos. where:
* `host` - For development. * `host` - For development.
* `rpi3` - Run on Farmbot's intended hardware. * `rpi3` - Run on Farmbot's intended hardware.
## Note about setup ### Note about setup
You will need to configure your Farmbot API, Frontend, and MQTT services for the You will need to configure your Farmbot API, Frontend, and MQTT services for the
below commands to work. You _can_ however use the default `my.farmbot.io` servers. below commands to work. You _can_ however use the default `my.farmbot.io` servers.
see `config/host/auth_secret_template.exs` for more information. see `config/host/auth_secret_template.exs` for more information.
# Running unit tests ## Running unit tests
Tests should be ran while developing features. You should have a *local* Farmbot Tests should be ran while developing features. You should have a *local* Farmbot
stack up and running and configured for this to work. stack up and running and configured for this to work.
`config/host/auth_secret_template.exs` will have more full instructions. `config/host/auth_secret_template.exs` will have more full instructions.
@ -70,7 +71,7 @@ MIX_ENV=test mix deps.get # Fetch test env specific deps.
mix test mix test
``` ```
# Feature development ## Feature development
If you plan on developing features, you will probably want to develop them with If you plan on developing features, you will probably want to develop them with
the `dev` and `host` combo. These are both the default values, so you can simply do: the `dev` and `host` combo. These are both the default values, so you can simply do:
```bash ```bash
@ -78,7 +79,7 @@ mix deps.get # You should only need to do this once.
iex -S mix # This will start an interactive shell. iex -S mix # This will start an interactive shell.
``` ```
# Development on device ## Development on device
Sometimes features will need to be developed and tested on the device itself. Sometimes features will need to be developed and tested on the device itself.
This is accomplished with the `dev` and `rpi3` combo. This is accomplished with the `dev` and `rpi3` combo.
It is *highly* recommended that you have an FTDI cable for this such as It is *highly* recommended that you have an FTDI cable for this such as
@ -92,7 +93,7 @@ MIX_TARGET=rpi3 mix firmware # Produce a firmware image.
MIX_TARGET=rpi3 mix firmware.burn # Burn the sdcard. You may be asked for a password here. MIX_TARGET=rpi3 mix firmware.burn # Burn the sdcard. You may be asked for a password here.
``` ```
## Local firmware updates ### Local firmware updates
If you're bot is connected to your local network, you should be able to If you're bot is connected to your local network, you should be able to
push updates over the network to your device. push updates over the network to your device.

View File

@ -1,11 +1,11 @@
# Frequently Asked Questions # Frequently Asked Questions
# What ports oputbound does Farmbot OS use? ## What ports oputbound does Farmbot OS use?
* AMQP: 5673 * AMQP: 5673
* HTTP(S): 80 + 443 (this is configurable) * HTTP(S): 80 + 443 (this is configurable)
* NTP: UDP 123 * NTP: UDP 123
# My bot doesn't boot on a fresh SD card! ## My bot doesn't boot on a fresh SD card!
This could be one of a few things. These things are in order of probability. This could be one of a few things. These things are in order of probability.
* Your farmbot doesn't have enough power. You NEED a good power supply at * Your farmbot doesn't have enough power. You NEED a good power supply at
@ -20,40 +20,21 @@ least 5 volts and 2.5 Amps for farmbot to boot reliably.
* You have a bad SD Card. * You have a bad SD Card.
* You aren't using a Raspberry Pi 3. * You aren't using a Raspberry Pi 3.
# Why can't I update my Arduino Firmware? ## Why can't I update my Arduino Firmware?
As of version 3.8.0 we decided to bundle the arduino firmware into farmbot os. As of version 3.8.0 we decided to bundle the arduino firmware into farmbot os.
There was a couple reasons for this. There was a couple reasons for this.
* There is no more version conflicts between the firmware and operating system. * There is no more version conflicts between the firmware and operating system.
* Applying updates during farmbot os runtime can be dangerous and was leaving * Applying updates during farmbot os runtime can be dangerous and was leaving
peoples bot's unusable because of broken firmwares. peoples bot's unusable because of broken firmwares.
# Non genuine Arduino boards not detected ## Can the shell run on HDMI
There was a bug between 6.0.1 until 6.2.1 that caused Farmbot to ignore
devices that presented themselves as anything other than `/dev/ttyACM0`. This
has since been fixed, but you will have to upgrade your device before configuring
your Arduino. So first make sure your Arduino board is _not_ plugged into your
Rasbperry Pi, then follow the following steps:
* Flash the release image [6.0.1](https://github.com/FarmBot/farmbot_os/releases/download/v6.0.1/farmbot-rpi3-6.0.1.img)
* Upgrade your bot until there are no updates available leaving your Arduino unplugged.
* When your bot settles on 6.2.1 or above plug your Arduino board in.
* Wait a few seconds. It will likely fail due to firmware not being installed or old firmware.
* Now you can do one of:
* Select `Arduino` from the `Firmware` dropdown on the [Device](https://my.farmbot.io/app/device) panel.
* Factory reset your bot. This will force Farmbot to reflash your firmware to the correct version.
## Can I still use a custom arduino firmware?
Yes. During configuration you can disable the default actions
during configuration. This means you will need to maintain your Arduino Firmware
manually.
# Can the shell run on HDMI
No. Farmbot is designed to operate without the use of a monitor. No. Farmbot is designed to operate without the use of a monitor.
# Can I SSH into the Farmbot? ## Can I SSH into the Farmbot?
No. Farmbot does not run `raspbain` as many users are used too. There are no No. Farmbot does not run `raspbain` as many users are used too. There are no
normal `linux` utilities (such as `apt`, `sudo`, `bash` etc). normal `linux` utilities (such as `apt`, `sudo`, `bash` etc).
# Why aren't [X] or [Y] packages included? ## Why aren't [X] or [Y] packages included?
See the above answer. [Raise an issue](https://github.com/FarmBot/farmbot_os/issues/new) See the above answer. [Raise an issue](https://github.com/FarmBot/farmbot_os/issues/new)
to request a package. Future versions of FarmBotOS may provide a plugin system. to request a package. Future versions of FarmBotOS may provide a plugin system.
It is not implemented yet. It is not implemented yet.