[Logo for The C Shore Landing Page]
The C Shore

Recent Additions

First twenty most recently created pages

README

README from plainfuse github repo

Raspberry Pi as an Ansible Server

As a base service for bare metal infrastructure I prefer my provisioning and configuration management servers to be bare metal which can be accessed without requiring other hosts or infrastructure. For small deployments the Raspberry Pi makes a great choice because it is inexpensive, uses little electricity, takes little space, and yet has enough power for the relatively low demands placed on the server (which also makes a full x64 server overkill).

Armshorian: Available Images

Armshorian prebuilt images available on this server

Raspberry Pi as a Server

For small deployments (or home or small office use) you may find yourself in need of a 'bare metal' server, but not want or need the expense of an x64 machine. If the workload is not too demanding, a Raspberry Pi can be a good choice. The Pi has the benefit of being inexpensive, using little electricity, and taking little space.

armshorian-gen README

Fork of RPi-Distro/pi-gen for stock Debian on ARM devices (and more stock-like Raspbian)

Plone vs Hugo

I've now built sites using a variety of static generation methods, participated in wikis and other's CMS systems, and was hosting a Plone instance (dynamic CMS), so I've decided to post a comparison of the different (and similar) trials and tribulations of using open source solutions for dynamic vs static web content management.

(Almost) Modern Debian on a Craig CLP281 Netbook — V1

Around 2011 Android devices based on the WonderMedia 8xxx-series SoC (ARM v5) were being sold as netbooks. This article describes getting Debian 7 (Wheezy) running from SD card on one such: a Craig CLP281 Netbook.

Small OpenStack Deployments Considered Harmful

Not worth it for most SOHO (Small Office Home Office) / startup deployments. I'd call three storage nodes, two controllers, and five reasonably beefy compute nodes the minimum to even consider the option. Headless libvirt combined with virt-manager makes a far less complicated VM environment and it can be online much more quickly.

Fast Builds of Old Software for Armel on Linux x64 (amd64)

The cross-compilation toolchains builtin to most modern Linux distributions do not support older versions of GCC. For old kernels (and other software) that require GCC4 or lower for building, this poses a challenge. One either needs to build a cross-compilation toolchain or use virtualization. This article describes setting up a cross-compilation toolchain.

Module 6: Mission Accomplished

The final challenge: get fancy and then try an obstacle course.

Relay Mail From Localhost Using Postfix

Due to SELinux and AppArmor, as well as other permissions issues, simple mail relays like msmtp and ssmtp are no longer viable. Therefore document how to do simple mail relaying with postfix.

Building Old Software on Armel on Linux x64 (amd64)

The cross-compilation toolchains builtin to most modern Linux distributions do not support older versions of GCC. For old kernels (and other software) that require GCC4 or lower for building, this poses a challenge. One either needs to build a cross-compilation toolchain or use virtualization. This article describes setting up a virtual ARM environment for doing armel (ARMv5) compilation using docker containers.

Final Challenge

SECTION TWO - Your RoboCar is Ready for the Obstacle Course Preparation Now that all the testing is complete we can move the RoboCar to the floor and see what it and your Team are able to do. First of all go to the file library in Mu and load the file RoboCar.py. from gpiozero import Robot import time roboCar = Robot(left=(7,8), right=(9,10)) roboCar.

Connecting Wirelessly

SECTION ONE - Connecting to the RoboCar Wirelessly You built the RoboCar – but it won’t run unless we load it with a program. We know our RoboCar can’t have any wires attached, so how do we load the program? We will use a wireless communication network called WIFI. Luckily the Raspberry Pi has its own WIFI chip (underside near the SD holder.

Next Week

Next Week Next week we are going to have a major challenge match where you can show off your robot skills. But if your RoboCar is going to take the top prize it has to look good too. At the start of next week’s lesson you will have 30 minutes to dress up you RoboCar so it is best in show.

Ready for Action

SECTION FOUR - Your RoboCar is Ready for Action Now that all the testing is complete we can move the RoboCar to the floor and see what it and your Team are able to do. First of all go to the file library in Mu and load the file RoboCar.py. from gpiozero import Robot import time roboCar = Robot(left=(7,8), right=(9,10)) roboCar.

Programming Tips

SECTION THREE – Three Programming Tips Tip One The five basic commands you need to operate your RoboCar are: roboCar.forward() roboCar.backward() roboCar.left() roboCar.right() roboCar.stop() If you do not put a value between the parentheses (), the motor will run at full speed. If you put in a decimal value less that one, it will run at a slower speed.

Basic Operation

SECTION TWO - Set the RoboCar’s Basic Operation Now that we can talk to our Raspberry Pi, we need to find out if we have built it correctly. When you tell your RoboCar to go forward, Raspberry Pi does not understand what forward means. You have to show it. Step One – Turn on Robo-Car (may have been done already) Turn the Robo-Car on and observe the RoboCar is ready All three red lights on and the green LED on the Raspberry Pi is no longer flashing Place you Robo-Car on the hoist block so its wheels are not touching the table.

Connecting to Robo-Care Wirelessly

SECTION ONE - Connecting to the RoboCar Wirelessly You built the RoboCar – but it won’t run unless we load it with a program. We know our RoboCar can’t have any wires attached, so how do we load the program? We will use a wireless communication network called WIFI. Luckily the Raspberry Pi has its own WIFI chip (underside near the SD holder.

Robo-Car Wiring

Wiring Step One – Wire the Motors to the Controller Locate the two wires from each wheel assembly that you pushed through from the underside of the chassis. Select the two wires coming from the left wheel assembly. Using the screwdriver, loosen the two hold-down screws in the blue two- terminal block on the side of the motor controller closest to that wheel.

See Also