Setzen Sie Ubuntu in Raspi ein, setzen Sie Docker darauf und steuern Sie GPIO mit Python aus dem Container

Einführung

Es ist ein verwirrender Titel geworden, aber es sieht so aus スクリーンショット 2020-02-11 14.56.17.png

Umgebung

Entwicklungs-PC: Mac Mojave RaspBerry Pi4 Speicher 4 GB SD-Karte 16 GB

Schreiben Sie Ubuntu 19.10 auf SD

https://ubuntu.com/download/raspberry-pi Ich habe die 64-Bit-Version von heruntergeladen und sie mit balena Etchar geschrieben.

Installieren Sie Docker unter Ubuntu

Gib Ubuntu mit ssh oder so ein

sudo apt-get install docker-ce

Sie können es mit installieren.

sudo usermod -aG docker ubuntu

Sie können ohne sudo andocken.

Machen Sie ein Basisbild

Sie können ein Python-Skript auf den Entwicklungs-PC schreiben und es dann mit Dockerfile in dockerImage kopieren. Es war jedoch schwer zu verstehen. Wenn Sie also eine Basis mit Dockerfile erstellt haben, geben Sie einen Container ein und erstellen Sie ein Image aus diesem Container.

Dockerfile

[Erstellen einer Docker-Umgebung für TensorFlow mit Raspberry Pi](https://qiita.com/kohbis/items/53c27ce6c62a7039aaa2#raspberrypi-%E3%81%AB-docker-%E3%82%92%E3%81%88%E3 % 81% 84% E3% 82% 84) Ich habe fast oben auf diesen Artikel verwiesen. Ich wollte rpi.gpio setzen, aber ich wusste nicht, wie ich es setzen sollte, also habe ich es einfach geschrieben.

FROM resin/rpi-raspbian:stretch

RUN echo "deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi firmware" > /etc/apt/sources.list

RUN apt-get update -y
RUN apt-get install -y --no-install-recommends \
        vim git less wget \
        build-essential \
        libatlas-base-dev \
        python3-pip python3-dev python3-setuptools\
        python3-scipy python3-h5py \
        libraspberrypi-bin \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN pip3 install --upgrade pip setuptools
RUN pip3 install rpi.gpio

Dann bauen

docker build -t rpi/rpi:0.1 .

Stellen Sie sicher, dass Sie dies mit Docker-Bildern tun können! Es sollte getan werden.

Starten Sie einen Container und schreiben Sie ein Python-Skript

Starten Sie den Container mit dem zuvor erstellten Image.

docker run --name rpi_test -ti --privileged rpi/rpi:0.1 /bin/bash

Dann befindet es sich im Container. Installieren Sie also, was Sie möchten. Weil es eine Nanoschule ist

sudo apt-get update
sudo apt-get install nano

Geh nach Hause und mache ein Skript. Ich denke, es ist besser, hier ein Arbeitsverzeichnis einzurichten ...

cd home
nano test.py

Es ist ein Programm, das eine LED auf GPIO17 setzt und ein entsprechendes L-Flimmern erzeugt.


import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
while True:
    GPIO.output(11, True)
    time.sleep(2)
    GPIO.output(11, False)
    time.sleep(2)

Nach dem Speichern des Skripts

exit

Bitte melden Sie sich mit ab

docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                     PORTS               NAMES
e700d8490be8        rpi/rpi:0.1           "/usr/bin/entry.sh /…"   11 minutes ago      Exited (0) 6 seconds ago                       rpi_test

Der Container wird angehalten. So erstellen Sie ein Bild aus diesem Container

docker commit rpi_test rpi/rpi:0.2
docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
rpi/rpi              0.2                 50f7f2a406e7        2 minutes ago       622MB

Sie haben jetzt ein Bild mit dem gespeicherten Skript.

Anlaufen

sudo docker run --privileged -it -d --name rpi -w /home rpi/rpi:0.2 python3 test.py

Der Container bewegt sich im Hintergrund und flattert weiter! Wenn Sie es stoppen möchten, stoppen Sie mit Docker Stop RPI

Zusammenfassung

Ich möchte bald Sensordaten erhalten

Recommended Posts

Setzen Sie Ubuntu in Raspi ein, setzen Sie Docker darauf und steuern Sie GPIO mit Python aus dem Container
Ich habe Umgebungsvariablen in Docker festgelegt und in Python angezeigt.
Setzen Sie Scipy + Matplotlib in Ubuntu auf Vagrant und zeigen Sie die Grafik mit X11 Forwarding an
Installieren Sie CaboCha in der Ubuntu-Umgebung und rufen Sie es mit Python auf.
Füllen Sie die Zeichenfolge mit Nullen in Python und zählen Sie bestimmte Zeichen aus der Zeichenfolge
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
Installieren Sie Chrome in der Befehlszeile von Sakura VPS (Ubuntu) und starten Sie Chrome mit Python über das virtuelle Display und Selen
Fügen Sie Python3 in den Docker-Container von Amazon Linux2 ein
Stellen Sie Docker in Windows Home und führen Sie einen einfachen Webserver mit Python aus
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Holen Sie sich die passende Zeichenfolge in den regulären Ausdruck und verwenden Sie sie beim Ersetzen unter Python3 erneut
Setzen Sie Python 3.x in Ubuntu ein
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
[Python] Ich habe das Spiel von pip installiert und versucht zu spielen
Lebensspiel mit Python [ich habe es geschafft] (auf Terminal & Tkinter)
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
Installieren Sie mecab auf dem gemeinsam genutzten Sakura-Server und rufen Sie es von Python aus auf
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
So verwenden Sie Python in Pyenv unter MacOS mit PyCall
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Installieren Sie lp_solve unter Mac OSX und rufen Sie es mit Python auf.
Von der Ubuntu-Installation bis zum Ausführen von Kinect mit Docker und Ros (Übersicht)
Betreiben Sie Firefox mit Selen aus Python und speichern Sie die Bildschirmaufnahme
Setzen Sie Python, Numpy, OpenCV3 in Ubuntu14
Bis Sie Python in Docker einfügen
Übergeben Sie die ausgewählten Elemente in Tablacus Explorer von JScript an Python und benennen Sie sie alle gleichzeitig um
[Kleine Geschichte] Ich kann es nicht finden, obwohl ich suche, um Python auf Ubuntu mit Docker zu installieren.
2. Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (2. Grundlagen des Python-Programms)
Stellen Sie das Python-Gesichtserkennungsmodell für Heroku bereit und verwenden Sie es von Flutter ②
[Python] Süß Ist es süß? Über Suiten und Ausdrücke in offiziellen Dokumenten
Setzen Sie OpenCV in OS X mit Homebrew ein und geben Sie Video mit Python ein / aus
Fügen Sie Ihre eigenen Bilddaten in Deep Learning ein und spielen Sie damit
Senden Sie eine E-Mail mit SES in Python und eine Kurznachricht mit SMS auf SNS
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Schließen Sie das Cat-Ergebnis in doppelte Anführungszeichen ein und setzen Sie es in eine Variable
Scraping der veröffentlichten CSV mit Github Action und Veröffentlichung auf Github Pages
Setzen Sie cron unter Ubuntu 16.04 (Sakura VPS) von 1 und führen Sie das Python-Programm regelmäßig aus
So machen Sie den Containernamen in Docker als Subdomain zugänglich
Erstellen und bearbeiten Sie Tabellenkalkulationen in einem beliebigen Ordner auf Google Drive mit Python
Setzen Sie die MeCab-Bindung für Python unter Windows, Mac und Linux mit pip ein
Abrufen und Konvertieren der aktuellen Zeit in der lokalen Systemzeitzone mit Python
Stellen Sie das in Python unter SQL Server erstellte Vorhersagemodell bereit und verwenden Sie es
Lesen Sie die Datei mit Python und löschen Sie die Zeilenumbrüche [Hinweise zum Lesen der Datei]
Vergleichen Sie die nächtliche Rendite und die tagsüber stattfindende Rendite des durchschnittlichen Aktienkurses von Nikkei mit Python
Machen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (4. Datenstruktur)
Deep Learning von Grund auf neu - Kapitel 4 Tipps für die in Python erlernte Theorie und Implementierung von Deep Learning
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (5. Information Entropy)
Verwenden Sie die LibreOffice-App in Python (2) Manipulieren Sie calc (von Makro und extern)
Exklusive Steuerung mit Sperrdatei in Python
Hinter dem Flyer: Docker mit Python verwenden
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Virtuelle Python-Umgebung und Pakete unter Ubuntu
Zeigen Sie Python 3 im Browser mit MAMP an
Ein Memo mit Python2.7 und Python3 in CentOS
Umgang mit "Jahren und Monaten" in Python