Logic:

Testing Equipment:

Communication 232:

SBC (Single board computer):

  • Raspberry PI
  • Raspberry PI Zero
  • Arduino

Development:

  • WYLIODRIN – An IDE for SBC development
  • FRITZING – Prototype development
  • Wiring – Development framework for MCU
  • Eagle – PCB and schematics

Drawings:

  • Draw.io – Schematics
  • KiCad EDA – A Cross Platform and Open Source Electronics Design Automation Suite

Learning sources:

General

  • WHAT IS ARDUINO?
    Arduino is an open-source electronics platform based on easy-to-use hardware and software. It’s intended for anyone making interactive projects.
  • ARDUINO BOARD
    Arduino senses the environment by receiving inputs from many sensors, and affects its surroundings by controlling lights, motors, and other actuators.
  • ARDUINO SOFTWARE
    You can tell your Arduino what to do by writing code in the Arduino programming language and using the Arduino development environment.

General

RaspEX for Raspberry Pi

AOSP

  1. Based on Youtube Video.
  2. Option 1:
    1. Download and install linuxmint.com Cinamon using Rufus.
    2. Boot LinuxMint
    3. Run Gparted
  3. Option 2:
    1. Download live CD GParted and boot it.
  4. Select device and un-mount the device.
  5. Delete all partitions.
  6. Create partition 1:
    • Primary Partition.
    • Size 512MB
    • Name BOOT
    • Type FAT32
  7. Create partition 2:
    1. Primary Partition
    2. Size: 1024 MB
    3. Name: system
    4. Type Ext4.
  8. Create partition 3:
    1. Primary Partition
    2. Size 512 MB
    3. Name: cache
    4. Type ext4
  9. Create partition 4:
    1. Primary partition
    2. Size: all the remain space
    3. Name: data
    4. Type ext4
  10. Apply changes
  11. Right click on Boot partitions, mark flags boot and lba.
  12. Go-to My Computer and mount all partitions you have created.
  13. Follow minute 9 at the youtube video.
  14. Un-mount partitions. Remove Sd-card.
  15. Boot the Raspberry pi with the SD-Card.
  16. Find the Raspberry pi IP address (min 12:30).
  17. Run gapps.

LineageOS

  • RPI = Raspberry PI
  • First make sure you are able to SSH the RPI
  • Assuming desktop Stretch operating system is running
  • Download PUTTY and install
  • Identify your RPI ip address.
  • Connect to RPI
  • Default credentials:
    • Username: pi
    • Password: raspberry
  • How to copy files by SSH (pscp.exe)
  • Install MC (Midnight commander)
    • sudo apt-get update 
    • sudo apt-get install mc

Connect to RPI the following:

  • SDCard with Stretch
  • Optional: Mouse & Keyboard (cause you can SSH the device)
  • Optional: HDMI Monitor (cause you can set LCD 3.5 Inch instead of HDMI monitor.
  • Case of RPI2 connect Wifi adapter.
  • LCD 3.5 Inch

Method 1 – Based on this link:

  • Open Terminal or SSH
  • sudo raspi-config
  • Enable
    • SPI
    • Overclocking
    • Expand filesystem
    • sudo reboot
    • OPTIONAL: 
      • sudo apt-get update && sudo apt-get upgrade
    • wget http://www.waveshare.com/w/upload/9/9d/LCD-show-151020.tar.gz
    • tar xvf LCD-show-151020.tar.gz
    • cd LCD-show
    • sudo ./LCD35-show
    • Switch back to HDMI:
      • sudo ./LCD-hdmi

Method 2 – Based on this link

  • Download LCD-show-170703.tar.gz
  • Screen rotation works
    • Open terminal and write
      • Rotate 90 dsegree: ./LCD35-show 90
      • Rotate 270 dsegree: ./LCD35-show 180
      • Switch back to HDMI: ./LCD-hdmi

Touch screen calibration

  • Menu -> Preferences -> Calibrate Touchscreen
  • A SH windows will open, follow the instructions there.

Steps:

  1. Download Raspbian strech with desktop from RaspberryPi
  2. Unzip downloaded image.
  3. Using Win32DiskImager, flash a SDCARD (minimum 8GB) with downloaded Raspbian Stretch.
  4. Power up rasphberry pi with:
    • Usb Mouse and Keyboard.
    • Hdmi monitor
    • SdCard
    • MicroUsb  Power spply
    • Case of using Raspberry pi 2, plugin also usb wifi dongle.
  5. Let the Raspberry Pi power up till you see Raspbian desktop.
  6. Setup wireless network.
  7. At this stage you have python 3.5 and 2.7 installed at your system.
  8. Open terminal and write there:
    • pip list
    • pip3 list
    • You will see all pacjages installedfor python 2.7 and python 3.5
  9. Install Tensorflow as follows:
    • sudo apt-get update

      # For Python 2.7
      sudo apt-get install python-pip python-dev

      # For Python 3.3+
      sudo apt-get install python3-pip python3-dev

    • # For Python 2.7
      wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl
      sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl

      # For Python 3.4
      wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl
      sudo pip3 install tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl

    • Finally, we need to reinstall the mock library to keep it from throwing an error when we import TensorFlow:

      # For Python 2.7
      sudo pip uninstall mock
      sudo pip install mock

      # For Python 3.3+
      sudo pip3 uninstall mock
      sudo pip3 install mock

  10. Run image classification with python as follows:

Keywords

Tensorflow, Python, Tensor Flow, Raspberry, Raspberry Pi, RaspberryPi, RPI

ESP826

ESP32

Introduction:

ESP32 is already integrated antenna and RF balun, power amplifier, low-noise amplifiers, filters, 
and power management module. The entire solution takes up the least amount of printed circuit board area.
This board is used with 2.4 GHz dual-mode Wi-Fi and Bluetooth chips by TSMC 40nm low power technology,
power and RF properties best, which is safe, reliable, and scalable to a variety of applications.

Features:
 

High performance-price ratio
Small volume, easily embeded to other products
Strong function with support LWIP protocol, Freertos
Supporting three modes: AP, STA, and AP+STA
Supporting Lua program, easily to develop
Development Board: https://github.com/Nicholas3388/LuaNode 

Useful links:

Where to buy?

Raspberry Pi 3 Model B Quad Core 1.2GHz 64bit CPU 1GB RAM WiFi & Bluetooth 4.0
Built on the latest Broadcom 2837 ARMv8 64bit processor, the new generation Raspberry Pi 3 Model B is faster and stronger than its predecessors. With built-in wireless and Bluetooth connectivity, it becomes the ideal IoT-ready solution.
Raspberry-Pi-3-Model-B-Quad-Core-1.2GHz-64bit-CPU-1GB-RAM-01
FEATURES:
  • 1.2GHz QUAD Core Broadcom BCM2837 64bit ARMv8 processor
  • BCM43438 WiFi on board
  • Bluetooth Low Energy (BLE) on board
  • 1GB RAM
  • 4x USB 2 ports
  • 40pin extended GPIO
  • HDMI and RCA video output
Key Improvements from Pi 2 Model B to Pi 3 Model B:
  • Next Generation QUAD Core Broadcom BCM2837 64bit processor
  • Processor speed has increased from 900MHz on Pi 2 to 1.2Ghz
  • BCM43438 WiFi on board
  • Bluetooth Low Energy (BLE) on board
  • Upgraded switched power source up to 2.5 Amps (can now power even more powerful devices over USB ports)
SPECIFICATIONS:
  • Broadcom BCM2387 chipset
  • 802.11 bgn Wireless LAN and Bluetooth 4.1 (Bluetooth Classic and LE)
  • 1GB RAM
  • 4 USB ports
  • Four pole Stereo output and Composite video port
  • Full-size HDMI for streaming and watching hi-definition video output at 1080
  • 10/100 BaseT Ethernet socket to quickly connect the Raspberry Pi to the Internet
  • CSI camera port for connecting the Raspberry Pi camera
  • DSI display port for connecting the Raspberry Pi touchscreen display
  • Micro SD port for loading your operating system and storing data
  • Micro-USB power source
  • 1.2GHz 64-bit quad-core ARM Cortex-A53 CPU (~ 10x the performance of Raspberry Pi 1)
  • Integrated 802.11n wireless LAN and Bluetooth 4.1
  • Complete compatibility with Raspberry Pi 1 and 2

Video on Youtube

The following guide is a very suggested configuration for Open-Elec based on Raspberry pi Media Center:

Buy the following item:

Read The following Guide about how to install:

http://wp.flash-jet.com/2015/06/02/media-center-raspberry-pi-kodi-xbmc/

 

pi-topCEED is the world’s most affordable way to use and learn with the Raspberry Pi. It comes ready to plug and play and includes a Raspberry Pi 2 so you can dive in to STEM (Science, Technology, Engineering, and Math) right away, all for just $99!

pi-topCEED is a modular desktop. This means, just like pi-top, when a new Raspberry Pi device gets released you can take your old RPi out and insert the new one and just like that, you have a brand new desktop!

https://www.indiegogo.com/projects/pi-topceed-the-first-99-raspberry-pi-desktop#/.

 

SDCard

Use maximum 16GB of SDCard cause raspberry PI doesn’t support above it.

WIFI

Hardware

Remote Control

CEC – Consumer Electronics Control: 

http://kodi.wiki/view/CEC

http://bit.ly/20WGl3l

OpenFL is a free and open source software framework and platform for the creation of multi-platform applications and video games. OpenFL programs are written in a single language (Haxe) and may be published to Flash movies, or standalone applications for Microsoft Windows, Mac OS X, Linux, iOS, Android, BlackBerry OS, Firefox OS, HTML5 andTizen (from wikipedia).

http://www.openfl.org/

screenshot.63

 

 

 

The 7” Touchscreen Monitor for Raspberry Pi gives users the ability to create all-in-one, integrated projects such as tablets, infotainment systems and embedded projects. The 800 x 480 display connects via an adapter board which handles power and signal conversion. Only two connections to the Pi are required; power from the Pi’s GPIO port and a ribbon cable that connects to the DSI port present on all Raspberry Pi’s.  Touchscreen drivers with support for 10-finger touch and an on-screen keyboard will be integrated into the latest Raspbian OS for full functionality without the need for a physical keyboard or mouse.

*Note: Your NEW Rasp Pi 7.0 needs you to Add a Virtual Keyboard….

 

Technical Specification:

7” Touchscreen Display

Screen Dimensions: 194mm x 110mm x 20mm (including standoffs)

Viewable screen size: 155mm x 86mm

Screen Resolution 800 x 480 pixels

10 finger capacitive touch

Connects to the Raspberry Pi board using a ribbon cable connected to the DSI port

Adapter board is used to power the display and convert the parallel signals from the display to the serial (DSI) port on the Raspberry Pi

Will require the latest version of Raspbian OS to operate correctly

 

Features and Benefits

Turn your Raspberry Pi into a touch screen tablet, infotainment system, or standalone device.

Truly Interactive – the latest software drivers will support a virtual ‘on screen’ keyboard, so there is no need to plug in a keyboard and mouse.

Make your own ‘Internet of Things’ (IoT) devices including a visual display. Simply connect your Raspberry Pi, develop a Python script to interact with the display, and you’re ready to create your own home automation devices with touch screen capability.

A range of educational software and programs available on the Raspberry Pi will be touch enabled, making learning and programming easier on the Raspberry Pi.
Kit Contents

7” Touchscreen Display

Adapter Board

DSI Ribbon cable

4 x stand-offs and screws (used to mount the adapter board and Raspberry Pi board to the back of the display

4 x jumper wires (used to connect the power from the Adapter Board and the GPIO pins on the Pi so the 2Amp power is shared across both units)

NOTE: THE RASPBERRY PI AND POWER SUPPLY ARE NOT INCLUDED IN THIS KIT AND ARE SOLD SEPARATELY.

 

How to Install the Matchbox-Keyboard for your Pi

1. Connect a physical keyboard to the Raspberry Pi (or SSH into it if that’s your thing.)

2. Connect to the internet via WiFi or Ethernet.

3. Open the terminal.

4. Type sudo apt-get install matchbox-keyboard

5. Let the program download & install (takes 30s-1min depending on your connection.)

6. Exit the terminal & reboot your Pi.

7. The keyboard can be found by clicking the Menu -> Accessories -> Keyboard.

 

 

External Link:

http://www.element14.com/community/mobile/mobile-access.jspa#jive-content?content=%2Fapi%2Fcore%2Fv3%2Fcontents%2F1009530

WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It’s released under the GNU LGPLv3 license and is usable from C and C++ and many other languages with suitable wrappers (See below) It’s designed to be familiar to people who have used the Arduino “wiring” system1

Read more about WiringPI here: http://wiringpi.com/

Down from Here: http://wiringpi.com/download-and-install/

WiringPi - GPIO Library Raspberry Pi
WiringPi – GPIO Library Raspberry Pi

Forum: http://forum.banana-pi.org/t/bpi-wiringpi-is-now-officially-released/268?u=sinovoip

WiringPi - GPIO Library Raspberry Pi
WiringPi – GPIO Library Raspberry Pi

 

http://bit.ly/1NTPQcv

Links:

  1. Google Code: https://code.google.com/p/webiopi/
  2. Blog: http://trouch.com/
  3. Video of WebIOPi: https://www.youtube.com/watch?v=0i2C3Qagosc&feature=youtu.be

SCADA (supervisory control and data acquisition) is a system operating with coded signals over communication channels so as to provide control of remote equipment (using typically one communication channel per remote station). The control system may be combined with a data acquisition system by adding the use of coded signals over communication channels to acquire information about the status of the remote equipment for display or for recording functions.[1] It is a type of industrial control system (ICS). Industrial control systems are computer-based systems that monitor and control industrial processes that exist in the physical world. SCADA systems historically distinguish themselves from other ICS systems by being large-scale processes that can include multiple sites, and large distances.[2] These processes include industrial, infrastructure, and facility-based processes, as described below:

(From Wikipedia)

Links:

  1. MyScada Home: http://www.myscadatechnologies.com/
  2. MyScada Download: http://www.myscadatechnologies.com/?page_id=2857
  3. Install MyScada on Raspberry Pi: https://youtu.be/WpQnJonLuU0
  4. How to use MyScada: https://www.youtube.com/watch?v=DmOXDCFCj3o

 

 

At this post here, a demo of how to blink a Led with scratch on Raspberry will be explained. Although this post is for beginners, it is suggested to have a previous experience with programming in general and programming by python and Scratch in specific.

Learn Scratch

Learn Python – Code Academy

  • Step 01 – Boot you Raspberry Pi

    • Login to your raspberry board using the following defaults:
      • Username: pi
      • Password: Raspberry
    • At the command prompt write startx. This action will start the XWindows on the Raspbian.
  • Step 02 – Install GPIO

    • Open a terminal and write there: sudo apt-get install python-dev python-rpi.gpio.
  • Step 03 – Write a demo program with python to test the GPIO functionality

    • At terminal write: sudo nano /home/pi/Desktop/RPiLED.py, this will open a text editor and will create a file RPiLED.py.
    • At Nano editor write the following python code:
       import RPi.GPIO as GPIO  import time
       def blink(pin):
        GPIO.output(pin,GPIO.HIGH)
        time.sleep(1)
       GPIO.output(pin,GPIO.LOW)
       time.sleep(1)
       return
       GPIO.setmode(GPIO.BOARD)
       GPIO.setup(11, GPIO.OUT)
       for i in range(0,50):
       blink(11)
       GPIO.cleanup()

Exit the nano editor by pressing CTRL+X, Y, and Enter. Right now, running RPiLED.py will cause the LED to blink 50 times.

  • Step 04 – Install Scratch GPIO

    • Open a terminal and write there the following in order to download scratch GPIO library:
      sudo wget http://goo.gl/Pthh62 –O install_scratchgpio5.sh
    • Then write the following to install Scrach GPIO:

sudo bash install_scratchgpio5.sh

  • Step 05 – Load Scratch and write a demo program that Blinks a Led

    • Create the following program at Scratch and run it, notice the broadcast command:

Completed Script

Available GPIO Commands and Pins

GPIO Pins controlled by Scratch GPIO:

The current scratch_gpio_handler.py has the GPIO pins fixed to the following inputs and outputs.  The pin numbers given, are the pins as counted on the P1 GPIO header itself.

Outputs (21,18,16,15,13,12,11)

Inputs (26,24,22,19,10,7)

Broadcast Commands:
Command Alt Command Result
pinXon pinXhigh Turns pin X ON
pinXoff pinXlow Turns pin X OFF
allon allhigh Turns all pins ON
alloff allow Turns all pins OFF
pinpattern1010111 Sets each pin ON or OFF depending on 1 or 0 [21,18,16,15,13,12,11]
Other commands:

You will need to see SimpleSi’s blog post for more information.

Command Result
motorX Runs motor X (A = pin11, B = pin12)
sonarX Trigger input on pin23, X = echo output on an input pin

To use the input pins, see the blog pages for more information.

External Links: https://pihw.wordpress.com/lessons/rgb-led-lessons/rgb-led-lesson-0-the-absolute-basics-gpio/
  1. Download Noobs from here.
  2. Extract the Zip.
  3. Download SD Formatter from here and Install it.
  4. Format the Sd Card.
  5. Copy the Extracted files to Sd Card.
  6. Connect to Raspberry: Sd Card, HDMI Network, Mouse, Keyboard, and Power supply.
  7. The system will boot.
  8. A menu with selection operating system will appear.
  • Note: Raspbian: Username: pi Password: raspberry From command prompt of Linux write: startx

External Links:

  1. How to setup Wifi on Raspberry Pi
  2. Raspbian Command line configurator

Keywords

Android, Raspberry, Raspberry PI, RPI, RPI3 RPI 3, Android on Raspberry, Install Android on Raspberry, Install Raspberry, Noobs

OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real-time computer vision, originally developed by Intel research center in Nizhny Novgorod (Russia), later supported byWillow Garage and now maintained by Itseez.[1] The library is cross-platform and free for use under the open-source BSD license (From Wikipedia – OpenCV).

http://opencv.org/

OpenCV is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform. Adopted all around the world, OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 9 million. Usage ranges from interactive art, to mines inspection, stitching maps on the web or through advanced robotics.

logo

A Youtube video about How to install OpenCV on Raspberry Pi

Program using a browser

You can program your embedded devices using a browser on any computer.

Usually programming embedded devices requires installing specific software. Using Wyliodrin makes it easier. All you need is a computer, a browser and an Internet connection. Sign up on Wyliodrin and start programming your boards. You can even use a public computer, as you do not need to install anything on it.

https://www.wyliodrin.com/

Visual & Streams Programming

It’s no problem if you don’t know a programming language.

With Wyliodrin you don’t have to. You can program your boards using our visual & streams programming systems. Drag and drop blocks and Wyliodrin will write the code for you.