Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit 6998d92c authored by Deepak Khatri's avatar Deepak Khatri :dog:
Browse files

Merge branch 'main' of git.beagleboard.org:docs/docs.beagleboard.io

parents 6a1ba473 1c9ca968
Branches
Tags
No related merge requests found
Pipeline #5869 passed with stages
in 14 minutes and 45 seconds
Showing
with 368 additions and 106 deletions
......@@ -134,8 +134,8 @@ flash it to SD card using `Balena etcher <https://www.balena.io/etcher/>`_ tool.
.. todo: Images should be on https://files.debian.cc and linked from https://www.beagleboard.org/distros
- To use via SD card: `TDA4VM Debian 11.5 2022-11-01 10GB SD XFCE EDGEAI <https://www.beagleboard.org/distros/tda4vm-debian-11-5-2022-11-01-10gb-sd-xfce-edgeai>`_
- To flash on eMMC: `bbai64-emmc-flasher-debian-11.4-xfce-edgeai-arm64-2022-08-02-10gb.img.xz <https://rcn-ee.net/rootfs/bb.org/testing/2022-08-02/bullseye-xfce-edgeai-arm64/bbai64-emmc-flasher-debian-11.4-xfce-edgeai-arm64-2022-08-02-10gb.img.xz>`_
- To use via SD card: `bbai64-debian-11.7-xfce-edgeai-arm64-2023-08-05-10gb.img.xz <https://rcn-ee.com/rootfs/release/2023-08-05/bullseye-xfce-edgeai-arm64/bbai64-debian-11.7-xfce-edgeai-arm64-2023-08-05-10gb.img.xz>`_
- To flash on eMMC: `bbai64-emmc-flasher-debian-11.7-xfce-edgeai-arm64-2023-08-05-10gb.img.xz <https://rcn-ee.com/rootfs/release/2023-08-05/bullseye-xfce-edgeai-arm64/bbai64-emmc-flasher-debian-11.7-xfce-edgeai-arm64-2023-08-05-10gb.img.xz>`_
The Balena etcher tool can be installed either on Windows/Linux. Just download the
......
......@@ -192,10 +192,8 @@ image:images/BB_AI_asadrive_500px.jpg[BeagleBone AI Overview]
image:images/BB_AI_starthtm_500px.png[BeagleBone AI Overview]
8. Follow the instructions in the browser window.
image:images/BB_AI_connectedscreen_500px.jpg[BeagleBone AI Overview]
9. Go to Cloud9 IDE
image:images/BB_AI_ss_cloud9_500px.jpg[BeagleBone AI Overview]
10. Open the directories in the left navigation of Cloud9
image:images/BB_AI_ss_cloud9_dir_500px.jpg[BeagleBone AI Overview]
9. Go to Visual Studio Code IDE
image:images/vscode.png[BeagleBone AI Overview]
[[standalone-wdisplay-and-keyboardmouse]]
==== 3.2.2 Standalone w/Display and Keyboard/Mouse
......@@ -654,7 +652,7 @@ where:
Example:
----
debian@beaglebone:/var/lib/cloud9$ sudo hexdump -C /dev/mmcblk1boot1
debian@beaglebone:~$ sudo hexdump -C /dev/mmcblk1boot1
00000000 aa 55 33 ee 42 42 4f 4e 45 2d 41 49 30 30 41 31 |.U3.BBONE-AI00A1|
00000010 31 39 33 33 45 4d 41 49 30 30 30 38 30 33 ff ff |1933EMAI000803..|
00000020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
......
.. _beaglebone-ai-connecting:
Connecting Up Your BeagleBone AI
####################################
################################
What’s In the Box
******************
*****************
BeagleBone® AI comes in the box with the heat sink and antenna already
attached. Developers can get up and running in five minutes with no
......@@ -126,17 +126,12 @@ loaded on your BeagleBone® AI.
8. Follow the instructions in the browser window.
.. image:: images/BB_AI_ss_cloud9_500px.jpg
.. image:: images/vscode.png
:align: center
:alt: BeagleBone instructions
9. Go to Cloud9 IDE.
10. Open the directories in the left navigation of Cloud9.
9. Go to Visual Studio Code IDE.
.. image:: images/BB_AI_ss_cloud9_dir_500px.jpg
:align: center
:alt: Cloud9 navigation
Standalone w/Display and Keyboard/Mouse
****************************************
......@@ -153,9 +148,6 @@ Standalone w/Display and Keyboard/Mouse
Load "am57xx-eMMC-flasher-debian-9.13-lxqt-tidl-armhf-2020-08-25-6gb.img.xz"
image on the BeagleBone® AI
Presently, the "Cloud 9" application is broken in debian 10 only for
this configuration. We re working on a better solution.
1. Connect a combo keyboard and mouse to BeagleBone® AI’s USB host port.
2. Connect a microHDMI-to-HDMI cable to BeagleBone® AI’s microHDMI port.
3. Connect the microHDMI-to-HDMI cable to an HDMI monitor.
......@@ -165,7 +157,7 @@ this configuration. We re working on a better solution.
7. Follow the instructions at https://beagleboard.org/upgrade
Wireless Connection
********************
*******************
NOTE:Start with this image "am57xx-eMMC-flasher-debian-10.3-iot-tidl-armhf-2020-04-06-6gb.img.xz"
loaded on your BeagleBone® AI.
......@@ -178,7 +170,7 @@ loaded on your BeagleBone® AI.
6. Follow the instructions in the browser window.
Connecting a 3 PIN Serial Debug Cable
**************************************
*************************************
A 3 PIN serial debug cable can be helpful to debug when you need to view
the boot messages through a terminal program such as putty on your host
......
......@@ -134,7 +134,7 @@ filled with “FF”.
.. code-block:: shell
debian@beaglebone:/var/lib/cloud9$ sudo hexdump -C /dev/mmcblk1boot1
debian@beaglebone:~$ sudo hexdump -C /dev/mmcblk1boot1
00000000 aa 55 33 ee 42 42 4f 4e 45 2d 41 49 30 30 41 31 |.U3.BBONE-AI00A1|
00000010 31 39 33 33 45 4d 41 49 30 30 30 38 30 33 ff ff |1933EMAI000803..|
00000020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
......
boards/beaglebone/ai/images/BB_AI_ss_cloud9_500px.jpg

25.1 KiB

boards/beaglebone/ai/images/BB_AI_ss_cloud9_dir_500px.jpg

29.5 KiB

boards/beaglebone/ai/images/vscode.png

178 KiB

.. _beaglebone-blue-faq:
Frequently Asked Questions (FAQs)
###################################
#################################
.. _are_there_any_books_to_help_me_get_started:
Are there any books to help me get started?
==================================================
===========================================
The book `BeagleBone Robotic Projects, Second
Edition <https://github.com/jadonk/BeagleBone-Robotic-Projects-Second-Edition>`__
......@@ -19,7 +19,7 @@ see https://beagleboard.org/books.
.. _what_system_firmware_should_i_use_for_starting_to_explore_my_beaglebone_blue:
What system firmware should I use for starting to explore my BeagleBone Blue?
===================================================================================
=============================================================================
Download the latest 'IoT' image from
https://www.beagleboard.org/distros. As of this writing, that image is
......@@ -34,7 +34,7 @@ this firmware image.
.. _what_is_the_name_of_the_access_point_ssid_and_password_default_on_beaglebone_blue:
What is the name of the access point SSID and password default on BeagleBone Blue?
===================================================================================
==================================================================================
| SSID: BeagleBone-XXXX where XXXX is based upon the board's assigned
unique hardware address
......@@ -43,9 +43,9 @@ What is the name of the access point SSID and password default on BeagleBone Blu
.. _ive_connected_to_beaglebone_blues_access_point._how_do_i_get_logged_into_the_board:
I've connected to BeagleBone Blue's access point. How do I get logged into the board?
=======================================================================================
=====================================================================================
Browse to http://192.168.8.1:3000 to open the Cloud9 IDE and get access
Browse to http://192.168.8.1:3000 to open the Visual Studio Code IDE and get access
to the Linux command prompt.
If you've connected via USB instead, the address will be either
......@@ -55,7 +55,7 @@ networking drivers provided by your operating system.
.. _how_do_i_connect_beaglebone_blue_to_my_own_wifi_network:
How do I connect BeagleBone Blue to my own WiFi network?
==========================================================
========================================================
From the bash command prompt in Linux:
......@@ -76,7 +76,7 @@ From the bash command prompt in Linux:
.. _where_can_i_find_examples_and_apis_for_programming_beaglebone_blue:
Where can I find examples and APIs for programming BeagleBone Blue?
========================================================================
===================================================================
Programming in C: http://www.strawsondesign.com/#!manual-install
......@@ -88,7 +88,7 @@ https://www.mathworks.com/hardware-support/beaglebone-blue.html
.. _my_beaglebone_blue_fails_to_run_successful_tests:
My BeagleBone Blue fails to run successful tests
======================================================
================================================
You've tried to run rc_test_drivers to ensure your board is working for
DOA warranty tests, but it errors. You should first look to fixing your
......@@ -98,7 +98,7 @@ http://strawsondesign.com/docs/librobotcontrol/installation.html#installation_s5
.. _im_running_an_image_off_of_a_microsd_card._how_do_i_write_it_to_the_on_board_emmc_flash:
I'm running an image off of a microSD card. How do I write it to the on-board eMMC flash?
==========================================================================================
=========================================================================================
Refer to the "Flashing Firmware" page:
https://git.beagleboard.org/beagleboard/beaglebone-blue/-/wikis/Flashing-firmware
......@@ -111,7 +111,7 @@ partition on the on-board eMMC.
.. _ive_written_the_latest_image_to_a_usd_card_but_some_features_arent_working._how_do_i_make_it_run_properly:
I’ve written the latest image to a uSD card, but some features aren’t working. How do I make it run properly?
==============================================================================================================
=============================================================================================================
It is possible you are running an old bootloader off of the eMMC. While
power is completely off, hold the SD button (near the servo headers)
......@@ -142,7 +142,7 @@ on flashing firmware.
.. _ive_got_my_on_board_emmc_flash_configured_in_a_nice_way._how_do_i_copy_that_to_other_beaglebone_blue_boards:
I've got my on-board eMMC flash configured in a nice way. How do I copy that to other BeagleBone Blue boards?
=================================================================================================================
=============================================================================================================
As root, run the
`/opt/scripts/tools/eMMC/beaglebone-black-make-microSD-flasher-from-eMMC.sh <https://github.com/RobertCNelson/boot-scripts/blob/master/tools/eMMC/beaglebone-black-make-microSD-flasher-from-eMMC.sh>`__
......@@ -163,7 +163,7 @@ Reboot your newly flashed board.
.. _i_have_some_low_latency_io_tasks._how_do_i_get_started_programming_the_beaglebone_prus:
I have some low-latency I/O tasks. How do I get started programming the BeagleBone PRUs?
==========================================================================================
========================================================================================
There is a "Hello, World" app at
https://gist.github.com/jadonk/2ecf864e1b3f250bad82c0eae12b7b64 that
......@@ -182,7 +182,7 @@ You can find some more at https://beagleboard.org/pru
.. _are_there_available_mechanical_models:
Are there available mechanical models?
=============================================
======================================
A community contributed model is available at
https://grabcad.com/library/beaglebone-blue-1
......@@ -190,14 +190,14 @@ https://grabcad.com/library/beaglebone-blue-1
.. _what_is_the_operating_temperature_range:
What is the operating temperature range?
=============================================
========================================
\`0..70\` due to processor, else \`-20..70\`
.. _what_is_the_dc_motor_drive_strength:
What is the DC motor drive strength?
============================================
====================================
This is dictated by the 2 cell LiPo battery input, the `TB6612FNG motor
drivers <http://www.pololu.com/file/0J86/TB6612FNG.pdf>`__ and the
......
......@@ -62,6 +62,11 @@ all the chips on BeaglePlay we have Low Drop Out (LDO) voltage regulators for fi
and Power Management Integrated Circuit (PMIC) that interface with SoC to generate software programable voltages.
2 x LDOs and 1 x PMIC used on BeaglePlay are shown below.
.. figure:: images/block-diagrams/Power-Block-Diagram.svg
:width: 1247
:align: center
:alt: BeaglePlay power block diagram
TLV75801 - LDO
===============
......@@ -72,16 +77,34 @@ TLV75801 - LDO
TLV75801PDBVR LDO schematic for 1V0 output
TLV62595 - LDO
==============
This provides 1.0V required by the single-pair Ethernet PHY (U13 - DP83TD510ERHBR). It was decided this was less
likely to be needed than the other rails coming off of the primary PMIC and therefore was given its own regulator
when running low on power rails.
.. note::
The voltage drop from 1.8V to 1.0V is rated up to 0.3A (240mW), but the typical current from the
DP83TD51E data sheet (SNLS656C) is stated at 3.5mA (2.8mW) and the maximum is 7.5mA (6mW). This isn't overly
significant on a board typically consuming 400mA at 5V (2W). However, this is an area where some power
optimization could be performed if concerned about sleep modes.
TLV62595 - DC/DC regulator
==========================
.. figure:: images/hardware-design/TLV62595DMQR.svg
:width: 1247
:align: center
:alt: TLV62595DMQR LDO schematic for 3V3 output
:alt: TLV62595DMQR DC/DC regulator schematic for 3V3 output
TLV62595DMQR LDO schematic for 3V3 output
This provides 3.3V for the vast majority of 3.3V I/Os on the board, off-board 3.3V power to microSD, mikroBUS,
QWIIC and Grove connectors, as well as to the PMIC LDO to provide power for the 1.8V on-board I/Os, DDR4, and
gigabit Ethernet PHY. Due to the relatively high current rating (3A), a highly efficient (up to 97%) was chosen.
The primary TPS65219 PMIC firmware uses GPO2 to provide the enable signal (VDD_3V3_EN). The power-good signal
(VDD_3V3_PG) is available at TP19 and is unused on the rest of the board.
TPS65219 - PMIC
================
......@@ -92,6 +115,15 @@ TPS65219 - PMIC
TPS65219 Power Management Integrated Circuit (PMIC) schematic
This is the primary power management integrated circuit (PMIC) for the design. It coordinates the power
sequencing and provides numerous power rails required for the core of the system, including dynamic voltages
for the processor core and microSD card. The TPS6521903 variant is used for this DDR4-based system. The 03
at the end indicates the sequencing programmed into the device and is covered in the TPS6521903 Technical
Reference Manual `SLVUCJ2 <https://www.ti.com/lit/pdf/slvucj2>`_.
.. todo::
Add specific power-up/down sequence notes here as well a highlight any limitations and known issues.
General Connectivity and Expansion
***********************************
......@@ -147,7 +179,7 @@ Grove
Grove connector schematic
Qwiic
QWIIC
=====
.. figure:: images/hardware-design/qwiic.svg
......
......@@ -10,15 +10,97 @@ Expansion
mikroBUS
*********
The mikroBUS header provides several GPIO pins as well as UART, I2C, SPI, PWM and an Analog Input.
By default, the port is controlled by a mikroBUS driver that helps with auto-detecting MikroE Click Board that feature [ClickID](https://www.mikroe.com/clickid).
This does however mean that if you want to manually control the port, you may need to first disable the driver.
To disable the driver, do the following - TODO
Grove
******
The Grove port on BeaglePlay exposes one of the SoC I2C Ports as well as an analog input.
It maps directly in linux as /dev/I2C-TODO or as the following alias /dev/play/grove
QWIIC
******
The QWIIC port on BeaglePlay exposes one of the SoC I2C Ports.
It maps directly in linux as `/dev/I2C-2` or as the following alias `/dev/play/qwiic`
CSI
***
The AM62x SoC (and by extension BeaglePlay) does not feature on-board ISP (Image Signal Processor) hardware, and as such, Raw-Bayer CSI Sensors must be pre-processed into normal images by the A53 cores.
To avoid performance penalties related to the approach above, it is recommended to use a sensor with a built-in ISP, such as the OV5640 which is supported out of box.
The `PCam5C from Digilent <https://digilent.com/shop/pcam-5c-5-mp-fixed-focus-color-camera-module/>`_ is one CSI camera that features this sensor.
.. note:: Since BeaglePlay uses a 22-pin CSI connector, a 15 pin to 22 pin CSI adapter may also be required `such as this one <https://www.uctronics.com/arducam-15-pin-1-0mm-pitch-to-22-pin-0-5mm-camera-cable-for-raspberry-pi-zero-version-1-3-specific-pack-of-2.html>`_
Once installed, there are some software changes required to load the device driver at boot for the OV5640.
We will need to modify the following file: /boot/firmware/extlinux/extlinux.conf
We will add the following line to load the OV5640 DTBO:
.. code:: bash
fdtoverlays /overlays/k3-am625-beagleplay-csi2-ov5640.dtbo
Then you can reboot: sudo reboot
Camera should now work, you can use mplayer to test.
.. code:: bash
sudo apt-get install -y mplayer
mplayer tv: // -tv driver=v4l2:device=/dev/video0:width=640:height=480:fps=30:outfmt=yuy2
OLDI
****
BeaglePlay brings out two OLDI (LVDS) channels, each with up to four data lanes and one clock lane to support 21/28-bit serialized RGB pixel data and synchronization transmissions. The first port, OLDI0, consists of OLDI0_A0-3/CLK0 and corresponds to odd pixels, while the second port, OLDI1, consists of OLDI0_A4-7/CLK1 and corresponds to even pixels.
It is pin compatible with the following two displays from Lincoln Technology Solutions:
Both displays have the following features and only differ in bezzle type:
* **Resolution** - 1920x1200 (16:10)
* **LCD Size (diagonal)** - 10.1"
* **Refresh Rate** - 60Hz
* **Brightness** - 1000nit
* **Pannel Type** - Edge-lit IPS
* **Touch Enabled** - Yes, Capacitive
* **Connector** - 40 pin FFC ribbon cable
`A "Flush Coverglass" Version <https://www.digikey.com/en/products/detail/lincoln-technology-solutions/LCDK185-101CTL1ARNTTR1-0/20485318?s=N4IgTCBcDaIDIGEAiBpAjADgKwgLoF8g>`_
`A "Oversized Cover Glass" Version - similar in style to a Tablet Display <https://www.digikey.com/en/products/detail/lincoln-technology-solutions/LCDK217-101CTL1ARNTTR1-0/20485319?s=N4IgTCBcDaIDIGEAiBpMBGA7CAugXyA>`_
To enable OLDI display support, modify the following file: /boot/firmware/extlinux/extlinux.conf
Then, add the following line to load the Lincoln LCD185 OLDI DTBO:
.. code:: bash
fdtoverlays /overlays/k3-am625-beagleplay-lt-lcd185.dtbo
Your /boot/firmware/extlinux/extlinux.conf file should look something like this:
.. code:: bash
label Linux eMMC
kernel /Image
append root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0 systemd.unified_cgroup_hierarchy=false quiet
fdtdir /
fdtoverlays /overlays/k3-am625-beagleplay-lt-lcd185.dtbo
initrd /initrd.img
......@@ -3,6 +3,11 @@
Connect WiFi
#############
.. note::
A common issue experienced by users when connecting to Wireless networks are network names that include special characters such as spaces, apostrophes etc, this may make connecting to your network more difficult. It is thus recommended to rename your Wireless AP to something simpler. For Example - renaming "Boris's Wireless Network" to "BorisNet". This avoids having to add special "escape" characters in the name. This shows up especially if you try connecting to iPhone/iOS HotSpots, where the network name is the device name, which by default is something like "Dan's iPhone". Also see `this potential solution.
<https://unix.stackexchange.com/questions/679862/wpa-supplicant-conf-escaping-characters/>`_.
If you have a monitor and keyboard/mouse combo connected, the easiest way is to use the :ref:`beagleplay-wifi-wpa-gui`.
Alternatively, you can use ``wpa_cli`` over a shell connection through:
......@@ -149,7 +154,7 @@ your board to WiFi (if password is correct).
wpa_cli (shell)
****************
Swap out "mywifi" and "mypassword" with your network SSID and password, respectively.
Swap out "68:ff:7b:03:0a:8a" and "mypassword" with your network BSSID and password, respectively.
.. code-block:: shell-session
......@@ -163,7 +168,7 @@ Swap out "mywifi" and "mypassword" with your network SSID and password, respecti
debian@BeaglePlay:~$ wpa_cli add_network
Selected interface 'wlan0'
1
debian@BeaglePlay:~$ wpa_cli set_network 1 ssid '"mywifi"'
debian@BeaglePlay:~$ wpa_cli set_network 1 bssid 68:ff:7b:03:0a:8a
Selected interface 'wlan0'
OK
debian@BeaglePlay:~$ wpa_cli set_network 1 psk '"mypassword"'
......@@ -296,3 +301,41 @@ after you add the credentials to ``wpa_supplicant-wlan0.conf``.
:alt: To check connection try running $ ping 8.8.8.8
To check connection try running $ ping 8.8.8.8
Disabling the WIFI Access Point
*******************************
In certain situations, such as running HomeAssistant, you may chose to connect your BeaglePlay to the internet via Ethernet. In this case, it may be desireable to disable it's Wifi access point so that users outside the local network aren't able to connect to it.
The Wifi Access Point that BeaglePlay provides is started using `uDev rules <https://en.wikipedia.org/wiki/Udev>`_. created by the `bb-wlan0-defaults` package
You can simply remove the `bb-wlan0-defaults` package:
.. code-block:: shell
sudo apt remove bb-wlan0-defaults
Now just reboot and the Wifi Access point should no longer start.
You can also disable it by removing the two following udev rule files:
.. code-block:: shell
rm /etc/udev/rules.d/81-add-SoftAp0-interface.rules
rm /etc/udev/rules.d/82-SoftAp0-start-hostpad.rules
The issue with doing this latter option is that if you later update your OS, the bb-wlan0-defaults may get updated as well and re-add the rules.
Re-Enabling the WIFI Access Point
*********************************
Conversely, you can re-enable the access point by re-installing the `bb-wlan0-default` package.
.. code-block:: shell
sudo apt install bb-wlan0-defaults --reinstall
Now just reboot.
--TODO Add notes on changing SSID/Password
......@@ -3,17 +3,19 @@
Using mikroBUS
##############
Using boards with ClickID
*************************
Steps:
1. Identify if mikroBUS add-on includes an ID. If not, ID must be supplied.
1. Identify if mikroBUS add-on includes a ClickID with ``manifest``. If not, ``manifest`` must be supplied.
2. Identify if mikroBUS add-on is supported by the kernel. If not, kernel module must be added.
3. Identify how driver exposes the data: IIO, net, etc.
4. Connect and power
5. Verify and utilize
.. _beagleplay-mikrobus-clickid:
Using boards with ClickID
*************************
What is mikroBUS?
=================
......@@ -34,7 +36,6 @@ ClickID enables mikroBUS add-on boards to be identified along with the configura
BeaglePlay's Linux kernel is patched with a mikrobus driver that automatically reads the ClickID and loads a driver, greatly simplifying usage.
Does my add-on have ClickID?
============================
......@@ -57,21 +58,70 @@ Example of examining boot log to see a ClickID was detected.
[ 2.663711] mikrobus_manifest:mikrobus_manifest_parse: Ambient 2 Click manifest parsed with 1 devices
[ 2.663783] mikrobus mikrobus-0: registering device : opt3001
To use the add-on, see :ref:`beagleplay-mikrobus-using`.
To use the add-on, see TBD below.
.. note::
Not all Click boards with ClickID have valid ``manifest`` entries.
.. _beagleplay-mikrobus-clickid:
What if my add-on doesn't have ClickID?
***************************************
It is still possible a ``manifest`` has been created for your add-on as we have created over 100 of them. You can install the existing manifest files onto your BeaglePlay.
First, make sure you have the latest manifests installed in your system.
.. code::
.. code:: bash
sudo apt update
sudo apt install bbb.io-clickid-manifests
cat /lib/firmware/mikrobus/amibient-light-click.mnfb > /sys/bus/mikrobus/devices/mikrobus-0/new_device
Take a look at the list of ``manifest`` files to see if the Click or other mikrobus add-on board ``manifest`` is installed.
.. code:: shell-session
debian@BeaglePlay:~$ ls /lib/firmware/mikrobus/
10DOF-CLICK.mnfb COMPASS-2-CLICK.mnfb I2C-2-SPI-CLICK.mnfb PWM-CLICK.mnfb
13DOF-2-CLICK.mnfb COMPASS-CLICK.mnfb I2C-MUX-CLICK.mnfb RFID-CLICK.mnfb
3D-HALL-3-CLICK.mnfb CURRENT-CLICK.mnfb ILLUMINANCE-CLICK.mnfb RF-METER-CLICK.mnfb
3D-HALL-6-CLICK.mnfb DAC-7-CLICK.mnfb IR-GESTURE-CLICK.mnfb RMS-TO-DC-CLICK.mnfb
6DOF-IMU-2-CLICK.mnfb DAC-CLICK.mnfb IR-THERMO-2-CLICK.mnfb RTC-6-CLICK.mnfb
6DOF-IMU-4-CLICK.mnfb DIGIPOT-3-CLICK.mnfb LED-DRIVER-7-CLICK.mnfb SHT1x-CLICK.mnfb
6DOF-IMU-6-CLICK.mnfb DIGIPOT-CLICK.mnfb LIGHTRANGER-2-CLICK.mnfb SHT-CLICK.mnfb
6DOF-IMU-8-CLICK.mnfb EEPROM-2-CLICK.mnfb LIGHTRANGER-3-CLICK.mnfb SMOKE-CLICK.mnfb
9DOF-CLICK.mnfb EEPROM-3-CLICK.mnfb LIGHTRANGER-CLICK.mnfb TEMP-HUM-11-CLICK.mnfb
ACCEL-3-CLICK.mnfb EEPROM-CLICK.mnfb LPS22HB-CLICK.mnfb TEMP-HUM-12-CLICK.mnfb
ACCEL-5-CLICK.mnfb ENVIRONMENT-CLICK.mnfb LSM303AGR-CLICK.mnfb TEMP-HUM-3-CLICK.mnfb
ACCEL-6-CLICK.mnfb ETH-CLICK.mnfb LSM6DSL-CLICK.mnfb TEMP-HUM-4-CLICK.mnfb
ACCEL-8-CLICK.mnfb ETH-WIZ-CLICK.mnfb MAGNETIC-LINEAR-CLICK.mnfb TEMP-HUM-7-CLICK.mnfb
ACCEL-CLICK.mnfb FLASH-2-CLICK.mnfb MAGNETIC-ROTARY-CLICK.mnfb TEMP-HUM-9-CLICK.mnfb
ADC-2-CLICK.mnfb FLASH-CLICK.mnfb MICROSD-CLICK.mnfb TEMP-HUM-CLICK.mnfb
ADC-3-CLICK.mnfb GENERIC-SPI-CLICK.mnfb MPU-9DOF-CLICK.mnfb TEMP-LOG-3-CLICK.mnfb
ADC-5-CLICK.mnfb GEOMAGNETIC-CLICK.mnfb MPU-IMU-CLICK.mnfb TEMP-LOG-4-CLICK.mnfb
ADC-8-CLICK.mnfb GNSS-4-CLICK.mnfb NO2-2-CLICK.mnfb TEMP-LOG-6-CLICK.mnfb
ADC-CLICK.mnfb GNSS-7-CLICK.mnfb NO2-CLICK.mnfb THERMO-12-CLICK.mnfb
AIR-QUALITY-2-CLICK.mnfb GNSS-ZOE-CLICK.mnfb OLEDB-CLICK.mnfb THERMO-15-CLICK.mnfb
AIR-QUALITY-3-CLICK.mnfb GSR-CLICK.mnfb OLEDC-CLICK.mnfb THERMO-17-CLICK.mnfb
AIR-QUALITY-5-CLICK.mnfb GYRO-2-CLICK.mnfb OLEDW-CLICK.mnfb THERMO-3-CLICK.mnfb
ALCOHOL-2-CLICK.mnfb GYRO-CLICK.mnfb OZONE-2-CLICK.mnfb THERMO-4-CLICK.mnfb
ALCOHOL-3-CLICK.mnfb HALL-CURRENT-2-CLICK.mnfb PRESSURE-11-CLICK.mnfb THERMO-7-CLICK.mnfb
ALTITUDE-3-CLICK.mnfb HALL-CURRENT-3-CLICK.mnfb PRESSURE-3-CLICK.mnfb THERMO-8-CLICK.mnfb
ALTITUDE-CLICK.mnfb HALL-CURRENT-4-CLICK.mnfb PRESSURE-4-CLICK.mnfb THERMO-CLICK.mnfb
AMBIENT-2-CLICK.mnfb HDC1000-CLICK.mnfb PRESSURE-CLICK.mnfb THERMOSTAT-3-CLICK.mnfb
AMBIENT-4-CLICK.mnfb HEART-RATE-3-CLICK.mnfb PROXIMITY-10-CLICK.mnfb UV-3-CLICK.mnfb
AMBIENT-5-CLICK.mnfb HEART-RATE-4-CLICK.mnfb PROXIMITY-2-CLICK.mnfb VACUUM-CLICK.mnfb
AMMETER-CLICK.mnfb HEART-RATE-5-CLICK.mnfb PROXIMITY-5-CLICK.mnfb VOLTMETER-CLICK.mnfb
COLOR-2-CLICK.mnfb HEART-RATE-7-CLICK.mnfb PROXIMITY-9-CLICK.mnfb WAVEFORM-CLICK.mnfb
COLOR-7-CLICK.mnfb HEART-RATE-CLICK.mnfb PROXIMITY-CLICK.mnfb WEATHER-CLICK.mnfb
Then, load the appropriate ``manifest`` using the ``mikrobus`` bus driver. For example, with the Ambient 2 Click, you can write that ``manifest`` to the ``mikrobus-0`` ``new_device`` entry.
.. code:: bash
cat /lib/firmware/mikrobus/AMBIENT-2-CLICK.mnfb > /sys/bus/mikrobus/devices/mikrobus-0/new_device
.. note::
......@@ -94,13 +144,44 @@ It is still possible a ``manifest`` has been created for your add-on as we have
To make it stick, ...
To use the add-on, see :ref:`beagleplay-mikrobus-using`.
.. _beagleplay-mikrobus-using:
Using boards with Linux drivers
*******************************
Depending on the type of mikrobus add-on board, the Linux driver could be of various different types. For sensors, the most common is :ref:`beagleplay-mikrobus-using-iio`.
.. _beagleplay-mikrobus-using-iio:
IIO driver
==========
https://docs.kernel.org/driver-api/iio/intro.html
Per https://docs.kernel.org/driver-api/iio/intro.html,
The main purpose of the Industrial I/O subsystem (IIO) is to provide support for devices that in some sense perform either analog-to-digital conversion (ADC) or digital-to-analog conversion (DAC) or both. The aim is to fill the gap between the somewhat similar hwmon and input subsystems. Hwmon is directed at low sample rate sensors used to monitor and control the system itself, like fan speed control or temperature measurement. Input is, as its name suggests, focused on human interaction input devices (keyboard, mouse, touchscreen). In some cases there is considerable overlap between these and IIO.
Devices that fall into this category include:
* analog to digital converters (ADCs)
* accelerometers
* capacitance to digital converters (CDCs)
* digital to analog converters (DACs)
* gyroscopes
* inertial measurement units (IMUs)
* color and light sensors
* magnetometers
* pressure sensors
* proximity sensors
* temperature sensors
See also https://wiki.analog.com/software/linux/docs/iio/iio.
To discover IIO driver enabled devices, use the ``iio_info`` command.
.. code-block:: shell-session
......@@ -122,7 +203,6 @@ https://docs.kernel.org/driver-api/iio/intro.html
attr 1: integration_time value: 0.800000
2 device-specific attributes found:
attr 0: current_timestamp_clock value: realtime
attr 1: integration_time_available value: 0.1 0.8
No trigger on this device
iio:device1: adc102s051
......@@ -138,18 +218,28 @@ https://docs.kernel.org/driver-api/iio/intro.html
No trigger on this device
Note that the units are standardized for the IIO interface based on the device type. If raw values are provided, a scale must be applied to get to the standardized units.
.. _beagleplay-mikrobus-using-storage:
Storage driver
==============
.. _beagleplay-mikrobus-using-net:
Network driver
==============
.. _beagleplay-mikrobus-how:
How does ClickID work?
**********************
.. _beagleplay-mikrobus-disable:
Disabling the mikroBUS driver
*****************************
......
......@@ -38,8 +38,10 @@ Board Changes
| | mikroBUS Click reset | | |
| | pins (made GPIO). | | |
+---------+-----------------------------------------------------------------------------------------+----------------------+--------+
| A2B | Because there are 2 TI parts which have long LT, | *June 15, 2021* | JK |
| | we propose to have the following changes: | | |
| A2a | Fixed label on P2_24. Was labeled GPIO48, should be GPIO44. | *November 7, 2017* | JK |
+---------+-----------------------------------------------------------------------------------------+----------------------+--------+
| A2b | Because there are 2 TI parts which have long lead-time, | *June 15, 2021* | JK |
| | we made the following changes: | | |
| | | | |
| | 1. Use ESD discrete devices instead of integrated TVS TI: TPD4S012DRYR. | | |
| | 2. Change Logic IC TI SN74LVC1G07DCKR to Nexperia 74LVC1G07GV | | |
......
.. _connecting_up_pocketbeagle:
Connecting Up PocketBeagle
==================================
==========================
This section provides instructions on how to hook up your board. The
most common scenario is tethering PocketBeagle to your PC for local
......@@ -10,7 +10,7 @@ development.
.. _whats_in_the_package:
What’s In the Package
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
In the package you will find two items as shown in figures below.
......@@ -38,7 +38,7 @@ In the package you will find two items as shown in figures below.
.. _connecting_the_board:
Connecting the board
~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~
This section will describe how to connect to the board. Information can
also be found on the Quick Start Guide that came in the box. Detailed
......@@ -52,7 +52,7 @@ include additional configurations.
.. _tethered_to_a_pc_using_debian_images:
Tethered to a PC using Debian Images
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this configuration, you will need the following additional items:
......@@ -79,7 +79,7 @@ but rarely is this the case.
.. _getting_started:
Getting Started
^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
The following steps will guide you to quickly download a PocketBeagle
software image onto your microSD card and get started writing code.
......@@ -101,7 +101,7 @@ You can also get to this page directly by going to
1. Download the latest image onto your computer by following the link to
the latest image and click on the Debian image for Stretch IoT (non-GUI)
for BeagleBone and PocketBeagle via microSD card. See Figure 6 below.
This will download a .img.xz file into the downloads folder of your
This will download a ``.img.xz`` file into the downloads folder of your
computer.
.. figure:: images/6fig-PB-DownloadSW.png
......@@ -204,7 +204,7 @@ initially placed on your microSD card once the Linux kernel has booted.
.. _accessing_the_board_and_getting_started_with_coding:
Accessing the Board and Getting Started with Coding
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The board will appear as a USB Storage drive on your PC after the kernel
has booted, which will take approximately 10 seconds. The kernel on the
......@@ -236,8 +236,8 @@ server that is running on PocketBeagle). Copy the appropriate IP Address
from the chart (according to your PC operating system type) and paste
into your browser then add a **:3000** to the end of it. See example in
Figure 16 below. This will launch from PocketBeagle one of it's favorite
Web Based Development Environments, Cloud9 IDE, (Figure 17) so that you
can teach your beagle new tricks!
Web Based Development Environments, Visual Studio Code, (Figure 17)
so that you can teach your beagle new tricks!
.. figure:: images/16fig-PB-enablenetwork.png
:align: center
......@@ -245,72 +245,95 @@ can teach your beagle new tricks!
Enable a Network Connection
.. figure:: images/17fig-PB-cloud9.png
.. figure:: images/vscode1.png
:align: center
:alt: Launch Cloud9 IDE
:alt: Launch Visual Studio Code IDE
Launch Cloud9 IDE
Launch Visual Studio Code IDE
1. Get Started Coding with Cloud9 IDE - blinking USR3 LED in JavaScript
using the BoneScript library example
#. Get Started Coding with Visual Studio Code IDE - blinking USR LEDs in Python.
#. Create a new text file
#. Navigate to the code. Select ``examples/BeagleBone/Black/seqLEDs.py``.
.. image:: images/SRM1_cloud9blinkPB.png
.. image:: images/vscode2.png
Copy and paste the below code into the editor
The code should match the code below, if you can't find it, copy and paste the below code into the editor
.. code-block::
.. code-block:: python
var b = require('bonescript');
var state = b.LOW;
b.pinMode("USR3", b.OUTPUT);
setInterval(toggle, 250); // toggle 4 times a second, every 250ms
function toggle() {
if(state == b.LOW) state = b.HIGH;
else state = b.LOW;
b.digitalWrite("USR3", state);
}
#!/usr/bin/env python3
# ////////////////////////////////////////
# // seqLED.py
# // Blinks the USR LEDs in sequence.
# // Wiring:
# // Setup:
# // See:
# ////////////////////////////////////////
# // Tested: may: 2022.06.29 - BBB - 5.10.109-ti-r45
import time
import os
LEDs=4
LEDPATH='/sys/class/leds/beaglebone:green:usr'
.. image:: images/SRM2_cloud9blinkPB.png
# Turn off triggers
for i in range(LEDs):
# print(LEDPATH+str(i)+"/trigger")
f = open(LEDPATH+str(i)+"/trigger", "w")
f.write("none")
f.close()
.. image:: images/SRM3_cloud9blinkPB.png
# Open a file for each LED
f = []
for i in range(LEDs):
f.append(open(LEDPATH+str(i)+"/brightness", "w"))
Save the new text file as *blinkusr3.js* within the default directory
# Sequence
while True:
for i in range(LEDs):
f[i].seek(0)
f[i].write("1")
time.sleep(0.25)
for i in range(LEDs):
f[i].seek(0)
f[i].write("0")
time.sleep(0.25)
Execute
.. code-block::
Open a terminal by selecting ``Terminal/New Terminal``
(or pressing ``Ctrl+Shift+```) and execute the code:
node blinkusr3.js
.. image:: images/vscode3.png
within the default (/var/lib/cloud9) directory
.. code-block:: shell-session
bone:~$ cd ~/examples/BeagleBone/Black
bone:~$ ./seqLEDs.py
.. image:: images/SRM4_cloud9blinkPB.png
You will see the four USR LEDs flashing.
.. image:: images/vscode4.png
Type CTRL+C to stop the program running
Type CTRL+C to stop the program running.
.. _powering_down:
Powering Down
^^^^^^^^^^^^^^^^^^^
| 1. Standard Power Down Press the power button momentarily with a tap.
The system will power down automatically. This will shut down your
software with grace. Software routines will run to completion.
^^^^^^^^^^^^^
1. Standard Power Down Press the power button momentarily with a tap.
The system will power down automatically. This will shut down your
software with grace. Software routines will run to completion.
| The Standard Power Down can also be invoked from the Linux command
shell via "sudo shutdown -h now".
| 2. Hard Power Down Press the power button for 10 seconds. This will
force an immediate shut down of the software. For example you may lose
any items you have written to the memory. Holding the button longer
than 10 seconds will perform a power reset and the system will power
back on.
1. Remove the USB cable Remember to hold your board firmly at the USB
shell via ``sudo halt``.
2. Hard Power Down Press the power button for 10 seconds. This will
force an immediate shut down of the software. For example you may lose
any items you have written to the memory. Holding the button longer
than 10 seconds will perform a power reset and the system will power
back on.
3. Remove the USB cable Remember to hold your board firmly at the USB
connection while you remove the cable to prevent damage to the USB
connector.
......@@ -332,7 +355,7 @@ the USB cable follow these instructions:
.. _other_ways_to_connect_up_to_your_pocketbeagle:
Other ways to Connect up to your PocketBeagle
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The board can be configured in several different ways. Future revisions
of this document may include additional configurations.
......
boards/pocketbeagle/original/images/vscode1.png

109 KiB

boards/pocketbeagle/original/images/vscode2.png

85.1 KiB

boards/pocketbeagle/original/images/vscode3.png

90.9 KiB

boards/pocketbeagle/original/images/vscode4.png

82.6 KiB

books/pru-cookbook/02start/figures/c9.png

178 KiB

books/pru-cookbook/02start/figures/vsc.png

188 KiB

0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment