Inhaltsverzeichnis:

Raspberry Pi Zero HDMI / WiFi Lötmikroskop - Gunook
Raspberry Pi Zero HDMI / WiFi Lötmikroskop - Gunook

Video: Raspberry Pi Zero HDMI / WiFi Lötmikroskop - Gunook

Video: Raspberry Pi Zero HDMI / WiFi Lötmikroskop - Gunook
Video: Микроскопы для пайки SMD || 15 долларов против 45 долларов против 189 долларов 2024, Juli
Anonim
Image
Image
Raspberry Pi Zero HDMI / WiFi Lötmikroskop
Raspberry Pi Zero HDMI / WiFi Lötmikroskop
Raspberry Pi Zero HDMI / WiFi Lötmikroskop
Raspberry Pi Zero HDMI / WiFi Lötmikroskop

Das Löten von SMD-Komponenten kann manchmal eine kleine Herausforderung sein, insbesondere wenn es um TQFP-Chips mit 0,4 mm Pinabstand und 100 oder mehr Pins geht. In solchen Fällen kann es sehr hilfreich sein, Zugang zu einer Art Vergrößerung zu haben.

Um dieses Problem anzugehen, beschloss ich, mein eigenes Lötmikroskop basierend auf einem Raspberry Pi Zero W und einem Kameramodul zu bauen. Das Mikroskop ist in der Lage, Full-HD-Videos praktisch ohne Latenz direkt auf einen HDMI-Monitor zu streamen, was sich perfekt zum Löten eignet. Aber auch über WLAN mit einer Latenz von weniger als einer halben Sekunde, was für die Boardinspektion ziemlich gut ist.

Optional kann das Mikroskop gegen einen geringen Aufpreis auch portabel gestaltet werden, was in Kombination mit seinen WiFi-Video-Streaming-Funktionen eine zusätzliche Dimension potenzieller Anwendungsfälle eröffnet.

Wenn Sie einen 3D-Drucker haben, sollten Sie sich auch RichW36s erstaunliches Projekt auf Thingiverse ansehen, um eine Version des Mikroskops mit 3D-gedruckten Teilen zu erhalten!

Schritt 1: Werkzeuge und Teile

Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile

Um das Mikroskop zu bauen, benötigen Sie die folgenden Teile:

1 x Raspberry Pi Zero W [10€]

1 x Raspberry Pi Kameramodul [8€] - Sie müssen es hacken, um seine Brennweite zu ändern und das Fokussieren auf Objekte in unmittelbarer Nähe zu ermöglichen. Ich weiß nicht, ob das gleiche Verfahren auch mit dem neuen 8MP-Kameramodul möglich ist, daher würde ich empfehlen, stattdessen das ursprüngliche 5MP-Modul zu verwenden.

1 x Raspberry Pi Zero Kamerakabel [2€] - Wie Sie vielleicht schon wissen, hat der Raspberry Pi Zero einen kleineren Kameraanschluss als die anderen Raspberry Pi Boards, sodass Sie auch ein spezielles Adapterkabel benötigen, um das Kameramodul daran anzuschließen.

1 x Kunststoff-Messschieber-Mikrometer - Je billiger Sie finden können, desto besser, ich habe nur ein altes analoges Plastik verwendet, das ich herumliegen hatte.

1 x Linealstück - Die Linealbreite muss kleiner sein als die Länge der beweglichen Backe des Messschiebers. Was die Länge angeht, sollten etwa 10 bis 15 cm in Ordnung sein.

1x Aluminium-Projektbox [4€] - Diese wird als Basis der Baugruppe verwendet und muss aus Metall bestehen, damit sie auch hitzebeständig ist. Der Grund, warum eine Box benötigt wird, ist, dass Sie ein Gewicht hineinlegen können, um beim Löten stabiler zu sein.

1 x HDMI-Kabel und ein HDMI-auf-Stecker-Mini-HDMI-Adapter - Sie können auch HDMI-auf-Mini-HDMI-Kabel kaufen, wenn Sie möchten, aber ich hatte bereits ein normales HDMI-Kabel herumliegen.

1 x Micro-USB-Netzteil - Nach meinen Messungen überschreitet der vom Pi aufgenommene Strom nie 400 mA, selbst wenn 1080p-Videos gleichzeitig über WLAN und HDMI gestreamt werden. Also sollte auch ein 500mA Netzteil ausreichen. Um sicher zu gehen, empfehle ich jedoch, eine 1A-Version zu kaufen, insbesondere wenn Sie planen, die tragbare Version zu bauen, die auch Verluste beim Aufwärtswandler hat.

1 x MicroSD-Karte [5€] - Auch eine 4GB-Karte wird ausreichen, stellen Sie nur sicher, dass es sich um eine hochwertige Klasse 10 handelt.

4 x M2 Schrauben und Muttern [weniger als 1€] - Es können auch Schrauben mit größerem Durchmesser verwendet werden. Je größer die Schraube, desto breiter muss das Loch sein und desto größer ist die Gefahr, dass der Kunststoff bricht.

1 x Heißklebestift [1€]

Kabelbinder [weniger als 1€] - Diese werden verwendet, um den Pi am beweglichen Teil des Bremssattels zu befestigen.

Und die folgenden Werkzeuge:

Eine Heißklebepistole

Ein Dremel - Mit einer Scheibe, die durch Kunststoff schneiden kann, plus Bohrer für Kunststoff und Aluminium in der Größe der Schrauben.

Eine lange Flachzange

Eine Bolzenschneidezange - Sie benötigen eine Möglichkeit, die Schrauben auf die entsprechende Länge zu schneiden. Ich habe eine Bolzenschneider verwendet, obwohl ich sicher bin, dass es auch andere Werkzeuge gibt, die diese Arbeit erledigen können.

Kreuzschlitzschraubendreher

Optional, wenn Sie es tragbar machen möchten, benötigen Sie die folgenden zusätzlichen Teile:

1 x LiPo-Akku [8€] - Die Kapazität hängt von der gewünschten Akkulaufzeit, der Effizienz des Aufwärtswandlers und dem durchschnittlichen Stromverbrauch ab.

1 x LiPo Ladegerät / 5V Boost Converter [20€] - Für dieses Projekt wähle ich den PowerBoost 1000C von Adafruit. Bei eBay gibt es auch viel billigere Alternativen, obwohl ich mich aufgrund einer schönen Funktion für diese bestimmte entschieden habe, auf die ich später mehr eingehen werde.

1 x 40-Pin zweireihiger Stiftleiste [weniger als 1€]

1 x 40-Pin zweireihige Buchsenleiste [weniger als 1€]

1 x 8-Pin Stiftleiste [weniger als 1€]

1 x 8-Pin Buchsenleiste [weniger als 1€]

1 x Stück Prototyping-Platine [1€] - Da Sie auf beiden Seiten der Platine Stiftleisten löten müssen, empfehle ich, eine doppelseitige zu besorgen. Alternativ erhalten Sie ein Prototyping-Board, das speziell für den Pi Zero entwickelt wurde, wie dieses von MakerSpot.

1 x 1K Widerstände [weniger als 1€]

1 x 10K Widerstand [weniger als 1€]

1 x BC547 [weniger als 1 €] - Jeder Allzweck-NPN-Transistor reicht aus, das ist genau das, was ich verwendet habe.

1 x DPST Momentary Switch [1€] - Idealerweise möchten Sie einen DPST-Schalter, damit Sie den Pi mit demselben Druckknopf ein- und ausschalten können. Leider hatte ich keinen in der Nähe, daher musste ich stattdessen zwei separate SPST-Momentanschalter verwenden.

Kabelbinder [weniger als 1€] - Für die tragbare Version wird ein weiterer benötigt, um den Akku auf der Rückseite des Prototyping-Boards zu befestigen.

Lötdraht

Und die folgenden zusätzlichen Tools:

Ein Lötkolben

Ein Paar Drahtschneider

Die Gesamtkosten für die nicht tragbare Version ohne Netzteil, HDMI-Kabel und Adapter auf Mini-HDMI lagen bei rund 30€. Und die zusätzlichen Kosten für die Portabilität betrugen ebenfalls etwa 30 €. Die meisten Teile wurden bei eBay gekauft.

Schritt 2: Vorbereiten der MicroSD

Brennen des Bildes auf die microSD-Karte

Als Basis für das System entschied ich mich für das offizielle Raspbian Lite Image und installiere dann nur genau das was ich brauchte. Laden Sie zunächst das neueste Raspbian Lite-Image von der Website raspberrypi.org herunter und brennen Sie es auf Ihre microSD-Karte.

Wenn Sie Linux ausführen, können Sie es nach dem Entpacken brennen, indem Sie den folgenden Befehl als root ausführen:

dd if=/path/to/-raspbian-jessie-lite.img of=/dev/sdX bs=4M

Wobei X der Buchstabe des Geräts ist, das Ihrer microSD entspricht, z. C. Stellen Sie vor dem Ausführen des Befehls sicher, dass keine gemounteten Partitionen vorhanden sind, die zur microSD-Karte gehören. Falls es sie gibt, verwenden Sie den folgenden Befehl, um jeden von ihnen auszuhängen, umount /dev/sdXY

Aber seien Sie hier äußerst vorsichtig, die Verwendung des falschen Buchstabens anstelle von X kann Ihrem System irreversiblen Schaden zufügen und Ihren Tag ruinieren. Bevor Sie den Befehl dd ausführen, überprüfen Sie, ob der Buchstabe, den Sie anstelle von X eingegeben haben, wirklich dem microSD-Gerät entspricht.

Wenn Sie Windows verwenden, können Sie das Raspbian Lite-Image nach dem Herunterladen und Entpacken mit dem Win32DiskImager auf die microSD-Karte brennen. Weitere Informationen finden Sie in der offiziellen Raspberry-Pi-Dokumentation.

Unter MacOS steht eine grafische Anwendung namens Etcher zur Verfügung, mit der das Image auf die microSD-Karte gebrannt werden kann. Alternativ können Sie dd auch ähnlich wie Linux verwenden, aber der Vorgang ist etwas anders. Auch hier können Sie die offizielle Dokumentation für weitere Informationen überprüfen.

WLAN konfigurieren

Nachdem Sie das Image auf die microSD-Karte gebrannt haben, müssen Sie vor dem ersten Booten das WLAN konfigurieren und auch SSH aktivieren.

Als erstes müssen Sie eine leere Datei namens SSH in der Bootpartition der microSD-Karte erstellen. Wenn Sie unter Windows arbeiten, ist die Bootpartition höchstwahrscheinlich die einzige Partition, die Sie sehen können, da Windows ext4-Partitionen nicht nativ lesen oder schreiben kann. Wenn die microSD-Kartenpartitionen derzeit nicht gemountet sind, ziehen Sie einfach die Karte ab und stecken Sie sie wieder in Ihren Computer ein.

Erstellen Sie dann erneut in der Bootpartition eine Datei namens wpa_supplicant.conf mit Ihren WLAN-Einstellungen. Der Inhalt der Datei sollte ungefähr so aussehen, Land=

network={ ssid= psk= proto=RSN key_mgmt=WPA-PSK paarweise=CCMP auth_alg=OPEN }

proto kann entweder RSN für WPA2 oder WPA für WPA1 sein.key_mgmt kann entweder WPA-PSK oder WPA-EAP für Unternehmensnetzwerke sein.pairwise kann entweder CCMP für WPA2 sein oder TKIP für WPA1.auth_alg wird wahrscheinlich OPEN sein, während LEAP und SHARED sind die anderen Optionen. Was Land, ssid und psk betrifft, sollten diese ziemlich selbsterklärend sein.

Das war's, jetzt trennen Sie einfach die microSD-Karte von Ihrem Computer und legen sie auf Ihren Pi. Als nächstes schließen Sie Ihren Pi an einen HDMI-Monitor an, stecken das Kameramodul mit dem speziellen Flachbandkabel ein und schalten schließlich die Stromversorgung ein. Nach einigen Sekunden sollte Ihr Pi hochgefahren und automatisch mit Ihrem WiFi-Netzwerk verbunden sein. Auf dem Bildschirm sollten Sie auch die IP-Adresse sehen können, die er vom DHCP-Server Ihres Routers erhalten hat.

Update 06.04.2018:

Falls Ihr Pi aus irgendeinem Grund während des Bootens keine Verbindung zum WLAN herstellen kann, versuchen Sie stattdessen die folgende wpa_supplicant.conf:

Land=

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ }

Ich habe kürzlich versucht, einen kopflosen Pi Zero W mit der neuesten Version von Raspbian einzurichten, und ich konnte es nicht zum Laufen bringen, bis ich die oben bereitgestellte wpa_supplicant.conf verwendet habe. Wenn Sie also das gleiche Problem haben, könnte dies helfen.

Schritt 3: Herstellen einer SSH-Verbindung

Falls Sie noch keinen Monitor an Ihren Pi angeschlossen haben und nicht sehen können, welche IP-Adresse er hat, gibt es mehrere Möglichkeiten, ihn zu entdecken. Eine Möglichkeit besteht darin, die Protokolle des DHCP-Servers Ihres Routers zu überprüfen. Jeder Router ist anders, daher werde ich diesen Prozess nicht beschreiben.

Unter Linux besteht eine andere einfache Möglichkeit darin, den folgenden nmap-Befehl als root auszuführen:

nmap -sn x.x.x.x/y

Wobei x.x.x.x die IP-Adresse Ihres privaten Netzwerks ist, z. B. 192.168.1.0 und das y ist die Anzahl der Einsen (in binär) der Netzmaske z. B. für die Netzwerkmaske 255.255.255.0 beträgt die Anzahl der Einsen 24. Für dieses spezielle Netzwerk, das Sie ausführen würden, nmap -sn 192.168.1.0/24

Eine Beispielausgabe für diesen Befehl ist die folgende:

Start von Nmap 6.47 (https://nmap.org) um 2017-04-16 12:34 EEST

Der Nmap-Scanbericht für den Host 192.168.1.1 ist aktiv (0,00044s Latenz). MAC-Adresse: 12:95:B9:47:25:4B (Intracom S. A.) Nmap-Scanbericht für 192.168.1.2 Host ist aktiv (0,0076s Latenz). MAC-Adresse: 1D:B8:77:A2:58:1F (HTC) Nmap-Scanbericht für 192.168.1.4 Host ist aktiv (0.00067s Latenz). MAC-Adresse: 88:27:F9:43:11:EF (Raspberry Pi Foundation) Nmap-Scanbericht für 192.168.1.180 Host ist aktiv. Nmap fertig: 256 IP-Adressen (4 Hosts up) in 2,13 Sekunden gescannt

Wie Sie in meinem Fall sehen können, hat der Pi die IP-Adresse 192.168.1.4.

Wenn Sie unter Windows arbeiten, gibt es auch eine Version von nmap, die Sie ausprobieren können, zu der Sie hier weitere Informationen finden. Nachdem Sie die IP-Adresse des Pi erhalten haben, können Sie mit dem folgenden Befehl sowohl unter Linux als auch unter MacOS eine SSH-Verbindung herstellen.

ssh pi@

Oder unter Windows mit PuTTY.

Das Standardpasswort für den pi-Benutzer ist raspberry.

Schritt 4: Konfigurieren des Systems

Allgemeine Konfiguration

Beim ersten Booten ist das System fast vollständig unkonfiguriert, daher müssen Sie zuerst einige Aufgaben erledigen.

Das allererste, was Sie tun müssen, ist das Standardpasswort für den pi-Benutzer zu ändern.

passwd

Dann müssen Sie die Gebietsschemas konfigurieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen, sudo dpkg-Gebietsschemas neu konfigurieren

Fahren Sie fort und wählen Sie alle en_US-Gebietsschemas aus, indem Sie die Leertaste und alle anderen gewünschten Gebietsschemas verwenden. Wenn Sie fertig sind, drücken Sie die Eingabetaste. Wählen Sie zuletzt en_US. UTF-8 als Standardgebietsschema aus und drücken Sie die Eingabetaste.

Als nächstes müssen Sie die Zeitzone konfigurieren, sudo dpkg-reconfigure tzdata

An dieser Stelle ist es wahrscheinlich eine gute Idee, das System zu aktualisieren, sudo apt-get update

sudo apt-get upgrade sudo apt-get dist-upgrade

Als nächstes müssen Sie das Kameramodul mit dem Befehl raspi-config aktivieren, sudo raspi-config

Wählen Sie die Schnittstellenoptionen aus dem Menü und dann die Option Kamera. Beantworten Sie die Frage, in der Sie aufgefordert werden, die Kamera zu aktivieren, mit Ja und wählen Sie dann OK. Wählen Sie abschließend Fertig stellen und beantworten Sie die Frage, ob Sie den Raspberry Pi jetzt neu starten möchten, mit Ja. Verbinden Sie sich nach dem Neustart erneut über SSH mit Ihrem Pi wie zuvor.

Um zu testen, ob die Kamera richtig funktioniert, können Sie den folgenden Befehl ausführen:

raspivid -t 0

Sie sollten den Video-Feed auf Ihrem HDMI-Monitor sehen können, Sie können ihn jederzeit durch Drücken von Strg-C stoppen. Sie können auch die Flags -vf und -hf verwenden, um das Bild bei Bedarf vertikal und/oder horizontal zu spiegeln.

Festlegen einer statischen IP-Adresse

Als nächstes müssen Sie eine statische IP-Adresse für Ihren Pi festlegen. Um dies mit nano zu tun, bearbeiten Sie Ihre /etc/dhcpcd.conf, sudo nano /etc/dhcpcd.conf

und füge am Ende die folgenden Zeilen hinzu, Schnittstelle wlan0

statische IP-Adresse = statische Router = statische Domänenname_Server =

In der Einstellung domain_name_servers können Sie mehrere Nameserver durch Leerzeichen getrennt hinzufügen, wenn Sie möchten, z. Sie können auch die IP des Google DNS hinzufügen, die 8.8.8.8 ist, um als Backup-Server verwendet zu werden. Drücken Sie zum Beenden Strg-X, geben Sie y ein und drücken Sie schließlich die Eingabetaste, um die Änderungen zu speichern.

Starten Sie dann die dhcpcd- und Netzwerkdienste neu, indem Sie die folgenden beiden Befehle ausführen:

sudo systemctl Neustart dhcpcd.service

sudo systemctl restart network.service

An diesem Punkt sollte die SSH-Sitzung hängen bleiben. Machen Sie sich keine Sorgen, da Sie gerade die IP des Pi geändert haben. Verbinden Sie sich einfach über SSH erneut mit ihm, diesmal jedoch mit der von Ihnen zugewiesenen IP.

Schritt 5: GStreamer installieren

Es gibt mehrere Möglichkeiten, Videos von einem Raspberry Pi über das Netzwerk zu streamen, aber diejenige, die die geringste Latenz bietet, ist die Verwendung von GStreamer. Um GStreamer zu installieren, können Sie einfach die folgenden Befehle ausführen:

sudo apt-get update

sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-gut gstreamer1.0-plugins-schlecht

GStreamer hat einige Abhängigkeiten, daher wird dies eine Weile dauern. Nachdem die Installation abgeschlossen ist, können Sie den Videofeed der Kamera gleichzeitig über das Netzwerk und HDMI streamen, indem Sie den folgenden Befehl verwenden:

raspivid -t 0 -w 1920 -h 1080 -fps 30 -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! TCP-Serversink-Host = Port = 5000

Dadurch wird ein RTP-Stream auf Port 5000 erstellt, der von jedem Computer in Ihrem lokalen Netzwerk mithilfe von GStreamer empfangen werden kann.

gst-launch-1.0 -v tcpclientsrc host= port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! Videokonvertieren! autovideosink sync=false

Die Installation von GStreamer auf jedem Computer, auf dem eine Debian-basierte Linux-Distribution ausgeführt wird, erfolgt genau wie auf dem Pi. Die meisten großen nicht-Debian-basierten Distributionen sollten auch GStreamer in ihren Repositorys haben.

GStreamer ist auch für Windows und MacOS verfügbar, detaillierte Informationen zur Installation finden Sie hier und hier.

Schritt 6: Streaming so konfigurieren, dass es beim Booten automatisch gestartet wird

Natürlich können Sie mit dem vorherigen Befehl das Streaming jederzeit starten, obwohl dies zunächst eine Verbindung zum Pi über SSH erfordert, was nicht sehr praktisch ist. Stattdessen möchten Sie ein Skript erstellen, das beim Booten als Dienst automatisch ausgeführt wird und das Streaming startet.

Um dies zu tun, erstellen Sie zuerst eine Datei mit nano, sudo nano /usr/local/bin/network-streaming.sh

und fügen Sie die folgenden zwei Zeilen ein, #!/bin/bash

raspivid -t 0 -w 1920 -h 1080 -fps 30 -vf -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! TCP-Serversink-Host = Port = 5000

Die Flags -vf und -hf werden verwendet, um das Bild vertikal und horizontal zu spiegeln. Je nach Ausrichtung der Kamera nach der Installation können Sie diese benötigen oder auch nicht.

Drücken Sie Strg-X zum Beenden, geben Sie y ein und drücken Sie schließlich die Eingabetaste, um die Änderungen zu speichern. Machen Sie dann das Skript ausführbar, indem Sie Folgendes ausführen:

sudo chmod +x /usr/local/bin/network-streaming.sh

Als nächstes müssen Sie eine Systemd-Dienstdatei erstellen, sudo nano /etc/systemd/system/network-streaming.service

Und füge in die folgenden Zeilen ein, [Einheit]

Description=Netzwerk-Videostreaming After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/local/bin/network-streaming.sh StandardOutput=journal+console User=pi Restart=on-failure [Installieren] WantedBy=multi-user.target

Speichern Sie die Datei, beenden Sie nano und führen Sie den folgenden Befehl aus, um Ihren Dienst zu testen:

sudo systemctl starte network-streaming.service

Wenn alles wie erwartet funktioniert, können Sie den folgenden Befehl ausführen, damit der Dienst beim Booten automatisch gestartet wird:

sudo systemctl enable network-streaming.service

Schritt 7: Das Dateisystem schreibgeschützt machen

Eines der großen Probleme von SD-Karten und Flash-Speichern im Allgemeinen besteht darin, dass sie sehr anfällig für Korruption sind.

Der beste Weg, dies zu bekämpfen, besteht darin, alle Partitionen der microSD-Karte schreibgeschützt zu mounten. Auf diese Weise können Sie auch jederzeit den Strom vom Pi trennen, ohne ein ordnungsgemäßes Herunterfahren einleiten zu müssen, was insbesondere für eine solche Anwendung sehr nützlich ist.

Als erstes müssen Sie einige Pakete entfernen, indem Sie den folgenden Befehl ausführen:

sudo apt-get purge triggerhappy logrotate dphys-swapfile

Als nächstes müssen Sie rsyslog durch den syslogd-Daemon von busybox ersetzen, der es ermöglicht, die Systemprotokolle im Speicher zu behalten.

sudo apt-get install busybox-syslogd

sudo apt-get purge rsyslog

und Renn, sudo apt-get autoremove

um nicht mehr benötigte Pakete zu entfernen.

Danach können Sie die Systemprotokolle jederzeit mit dem Befehl logread anzeigen.

Als nächstes müssen Sie /etc/resolv.conf nach /tmp verschieben, das im Speicher gemountet wird, da es beschreibbar bleiben muss.

sudo rm /etc/resolv.conf

sudo touch /tmp/resolv.conf sudo ln -s /tmp/resolv.conf /etc/resolv.conf

Eine andere Datei, die beschreibbar sein muss, ist /var/lib/systemd/random-seed.

sudo rm /var/lib/systemd/random-seed

sudo touch /tmp/random-seed sudo chmod 600 /tmp/random-seed sudo ln -s /tmp/random-seed /var/lib/systemd/random-seed

Da die Random-Seed-Datei normalerweise nicht beim Booten erstellt wird und der Inhalt von /tmp flüchtig ist, müssen Sie dies ändern, indem Sie die Servicedatei der systemd-random-seed-Servicedatei ändern. Durch die Verwendung von Nano, sudo nano /lib/systemd/system/systemd-random-seed.service

und fügen Sie einfach die Zeile am Ende des Serviceabschnitts hinzu, ExecStartPre=/bin/echo "" > /tmp/random-seed

also wird es so aussehen, [Service]

Type=oneshot RemainAfterExit=yes ExecStart=/lib/systemd/systemd-random-seed load ExecStop=/lib/systemd/systemd-random-seed save ExecStartPre=/bin/echo "" > /tmp/random-seed

und Renn, sudo systemctl daemon-reload

um Ihre Systemd-Service-Dateien neu zu laden.

Als nächstes müssen Sie die Datei /etc/fstab bearbeiten, sudo nano /etc/fstab

Und fügen Sie die ro-Option auf den Partitionen /dev/mmcblk0p1 und /dev/mmcblk0p2 hinzu, damit sie beim Booten schreibgeschützt gemountet werden. Und fügen Sie noch ein paar Zeilen hinzu, damit /tmp, /var/log und /var/tmp im Speicher gemountet werden. Nachdem Sie diese Änderungen vorgenommen haben, sollte Ihre Datei /etc/fstab ungefähr so aussehen, proc /proc proc Standardwerte 0 0

/dev/mmcblk0p1 /boot vfat defaults, ro 0 2 /dev/mmcblk0p2 / ext4 defaults, noatime, ro 0 1 # eine Auslagerungsdatei ist keine Auslagerungspartition, keine Zeile hier # verwenden Sie dafür dphys-swapfile swap[on|off] tmpfs /tmp tmpfs nosuid, nodev 0 0 tmpfs /var/log tmpfs nosuid, nodev 0 0 tmpfs /var/tmp tmpfs nosuid, nodev 0 0

Bearbeiten Sie abschließend Ihre cmdline.txt, sudo nano /boot/cmdline.txt

und am Ende der Zeile die Optionen fastboot noswap ro hinzufügen, um die Dateisystemprüfung zu deaktivieren, den Swap zu deaktivieren und das Einhängen des Dateisystems als schreibgeschützt zu erzwingen. Danach sollte Ihre /boot/cmdline.txt ungefähr so aussehen, dwc_otg.lpm_enable=0 console=serial0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 Aufzug=Deadline fsck.repair=yes rootwait fastboot noswap ro

Starten Sie abschließend das System neu, damit die Änderungen wirksam werden. Wenn nach dem Neustart alles wie erwartet gelaufen ist, sudo touch /boot/test

sudo touch /test

sollte in beiden Fällen einen "Read-only file system"-Fehler anzeigen. Jetzt können Sie jederzeit den Strom von Ihrem Pi trennen, ohne zu riskieren, dass das Dateisystem auf der microSD-Karte beschädigt wird.

Wenn Sie aus irgendeinem Grund das Root-Dateisystem vorübergehend lesen und schreiben müssen, z. Um einige Pakete zu installieren, können Sie dies mit dem folgenden Befehl tun:

sudo mount -o remount, rw /

Und nachdem Sie fertig sind, führen Sie den folgenden Befehl aus, um ihn wieder schreibgeschützt zu machen:

sudo mount -o remount, ro /

Falls Sie Updates durchführen möchten, stellen Sie sicher, dass Sie sowohl /boot als auch / als read-write mounten, da Updates für den Kernel und die Firmware auch die /boot-Partition schreiben.

An diesem Punkt sind wir mit dem Softwareteil fertig, daher empfehle ich dringend, Ihren Pi herunterzufahren, die microSD zu entfernen und eine Image-Sicherung der microSD-Karte zu erstellen.

Schritt 8: Hacken des Kameramoduls

Hacken des Kameramoduls
Hacken des Kameramoduls
Hacken des Kameramoduls
Hacken des Kameramoduls

Damit das Kameramodul auf Objekte in unmittelbarer Nähe fokussieren und Ihnen eine Vergrößerung bieten kann, müssen Sie es hacken, um seine Brennweite zu ändern.

Das Objektiv, das oben auf dem Sensor angebracht ist, wird tatsächlich verschraubt und mit einer sehr kleinen Menge Klebstoff befestigt. Drehen Sie die Linse mit einer langen Flachzange vorsichtig hin und her, um die Klebeverbindung zu knacken, und schrauben Sie die Linse dann sehr vorsichtig vollständig ab.

Setzen Sie danach die Linse wieder auf das Modul und schrauben Sie sie nur ein wenig fest, damit sie nicht herunterfällt, wenn Sie die Platine auf den Kopf stellen. Als nächstes schließen Sie Ihren Pi an Ihren Monitor an, wenn Sie dies noch nicht getan haben, schließen Sie die Stromversorgung an und sehen Sie sich den Videostream an.

Was Sie tun müssen, ist die Verschraubung des Objektivs an der Basis anzupassen, damit die Kamera auf Objekte in etwa 10 cm Entfernung vom Objektiv fokussieren kann. Versuchen Sie, nicht viel tiefer zu gehen, da Sie einen relativ guten Arbeitsabstand haben müssen, um darunter löten zu können. Machen Sie sich keine Sorgen um die Perfektion, Sie können immer noch Feineinstellungen vornehmen, nachdem Sie mit der Mikroskopmontage fertig sind.

Schritt 9: Zusammenbau des Mikroskops

Zusammenbau des Mikroskops
Zusammenbau des Mikroskops
Zusammenbau des Mikroskops
Zusammenbau des Mikroskops
Zusammenbau des Mikroskops
Zusammenbau des Mikroskops
Zusammenbau des Mikroskops
Zusammenbau des Mikroskops

Jetzt ist es Zeit für den lustigen Teil, der nicht anders ist, als das Mikroskop zusammenzubauen.

Zuerst müssen Sie zwei Löcher mit dem Durchmesser der Schrauben an der oberen Backe des Bremssattels und zwei an einer Seite des Aluminiumgehäuses bohren, um es zu montieren.

Als nächstes müssen Sie einen Schlitz der entsprechenden Größe öffnen, um das Linealstück zu passen. Nehmen Sie sich Zeit mit diesem, denn wenn Sie zu schnell fahren, können Sie den Kunststoff brechen oder das Loch zu groß machen. Nachdem Sie fertig sind, führen Sie das Lineal ein, um sicherzustellen, dass es gut hineinpasst.

Jetzt müssen Sie am Rand ein paar Löcher für das Lineal bohren, um das Kameramodul zu montieren. Wenn Sie fertig sind, schrauben Sie das Kameramodul fest und schneiden Sie den restlichen Teil der Schrauben ab.

Montieren Sie danach den Bremssattel mit Schrauben an der Seite des Aluminiumgehäuses, führen Sie das Lineal mit dem daran befestigten Kameramodul durch das Loch und fixieren Sie es mit Heißkleber. Stellen Sie sicher, dass Sie Heißkleber auf beiden Seiten und sowohl von oben als auch von unten hinzufügen.

Schließlich befestigen Sie die Raspberry Pi-Platine am beweglichen Teil des Bremssattels mit Kabelbindern wie auf dem Bild zu sehen und schließen Sie das Kamerakabel an.

Und das wars, Sie können jetzt ganz einfach den Fokus der Kamera durch Auf- und Abbewegung des Messschiebers einstellen und wenn Sie auch die Brennweite des Objektivs feinjustieren möchten, um den für Sie optimalen Arbeitsabstand zu erreichen.

Wenn Sie auch erfahren möchten, wie Sie es portabel machen können, können Sie mit dem nächsten Schritt fortfahren.

Schritt 10: Tragbar machen: Software

Der PowerBoost 1000C hat ein sehr praktisches kleines Feature. Es hat einen Enable-Pin, der, wenn er hoch gezogen wird, den Aufwärtswandler aktiviert und beginnt, Strom an seinem Ausgang bereitzustellen, und während er niedrig gezogen wird, wird der Strom abgeschaltet.

Der Raspberry Pi hat auch eine nette Funktion, die es uns ermöglicht, einen GPIO-Pin als Ausgang zu konfigurieren, der sich im High-Zustand befindet, während der Pi eingeschaltet ist, und nach einem erfolgreichen Herunterfahren auf einem Low-Zustand. Durch die Kombination dieser beiden Funktionen ist es möglich, einen Software-Ein-/Ausschalter für das Mikroskop zu erstellen.

Beginnen wir mit dem Softwareteil. Das erste, was Sie tun müssen, ist, diese Funktion des Pi zu aktivieren und es ab dem Zeitpunkt des Bootens an einem GPIO-Pin ein logisches High und nach einem erfolgreichen Herunterfahren ein logisches Low auszugeben.

Das geht ganz einfach, Sie müssen lediglich Ihre Datei /etc/config.txt bearbeiten.

sudo mount -o remount, rw /boot

sudo nano /boot/config.txt

und füge am Ende die folgende Zeile hinzu, dtoverlay=gpio-poweroff, gpiopin=26, active_low

Wenn Sie nun Ihren Raspberry neu starten und die Spannung am GPIO26-Pin (Pin 37 am GPIO-Header) in Bezug auf Masse messen, sollten Sie ab dem Zeitpunkt, an dem der Pi zu booten beginnt, 3,3 V sehen. Und nach einem vollständigen Herunterfahren sollte das 0 V werden.

Nachdem dies erledigt ist, müssen Sie ein einfaches Skript schreiben, das den Status eines zweiten GPIO-Pins überwacht und bei niedrigem Pegel ein Herunterfahren auslöst. Zu diesem Zweck müssen Sie das Paket wiringpi installieren, das zusammen mit dem gpio-Befehl geliefert wird.

sudo mount -o remount, rw /

sudo apt-get update sudo apt-get install wiringpi

Erstellen Sie nun mit nano das Skript, sudo nano /usr/local/sbin/power-button.sh

und in die folgenden Zeilen einfügen, #!/bin/bash

while true do if (($(gpio read 24) == 0)) then systemctl poweroff fi sleep 1 done

und nach dem Speichern und Beenden auch ausführbar machen, sudo chmod +x /usr/local/sbin/power-button.sh

Es ist wichtig zu erwähnen, dass der Pin 24 des Wiringpi dem GPIO19-Pin entspricht, der dem Pin 35 am GPIO-Header entspricht. Wenn das verwirrend klingt, können Sie sich die Raspberry Pi-Pinbelegung auf der Website pinout.xyz und die Webseite über Pins auf wiringpi.com ansehen. Das Ausführen des Befehls gpio readall kann auch hilfreich sein, um festzustellen, welcher Pin welcher ist.

Als nächstes müssen Sie eine Systemd-Dienstdatei erstellen, sudo nano /etc/systemd/system/power-button.service

mit folgendem Inhalt, [Einheit]

Description=Power Button Monitoring After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/local/sbin/power-button.sh StandardOutput=journal+console Restart=on-failure [Install] WantedBy =multi-user.target

Um den Dienst schließlich zu starten und ihn beim Booten ausführen zu lassen, sudo systemctl start power-button.service

sudo systemctl enable power-button.service

und mounten Sie das Dateisystem erneut als schreibgeschützt mit, sudo mount -o remount, ro /

Schritt 11: Tragbar machen: Hardware

Tragbar machen: Hardware
Tragbar machen: Hardware
Tragbar machen: Hardware
Tragbar machen: Hardware
Tragbar machen: Hardware
Tragbar machen: Hardware
Tragbar machen: Hardware
Tragbar machen: Hardware

Jetzt ist es Zeit für den Hardware-Teil. Zuerst müssen Sie eine sehr einfache Schaltung aufbauen, die aus einem NPN-Transistor, zwei Widerständen und einem DPST-Taster besteht. Sie können sich das Bild des Schaltplans für weitere Details ansehen.

Sie müssen auch eine Stiftleiste am GPIO des Raspberry Pi und auch eine Buchse am PowerBoost anlöten, damit Sie diese und den Pi einfach auf der Platine befestigen können, die Sie bauen werden. Ihr Board wird im Wesentlichen wie ein HAT auf dem Pi Zero befestigt und der PowerBoost oben auf dem Board. Der Pi wird auch direkt über den GPIO-Header über den +5V-Pin des PowerBoost mit Strom versorgt.

Nachdem Sie mit dem Löten fertig sind, ist es Zeit, alles zusammenzusetzen. Montieren Sie zuerst den Pi mit Kabelbindern am beweglichen Teil des Bremssattels. Montieren Sie dann den Akku auf der Rückseite des von Ihnen wieder aufgebauten Boards mit einem Kabelbinder und befestigen Sie ihn am Pi, achten Sie darauf, dass er nicht zu eng wird, da Sie sonst den Akku beschädigen könnten. Bringen Sie die PowerBoost-Platine darauf an und stecken Sie den Akku in den Anschluss. Zu guter Letzt stecken Sie das Kamerakabel ein und verbinden den Pi mit dem Kameramodul, und vergessen Sie natürlich nicht, die microSD einzustecken.

Und wir sind endlich fertig! Drückt man nun den Power-Button und hält ihn für ca. 8 Sekunden gedrückt, sollte der Bootvorgang des Pi starten und nach dem Loslassen weitergehen. Leider beginnt der Pi nicht sofort, das logische High an GPIO26 auszugeben. Wenn Sie also zu früh aufhören, die Taste zu drücken, wird die Stromversorgung unterbrochen.

Nachdem der Bootvorgang abgeschlossen ist, sollte ein erneutes Drücken des Netzschalters für etwa eine Sekunde dazu führen, dass der Pi herunterfährt und die Stromversorgung unterbrochen wird.

Schritt 12: Verbesserungsideen

Verbesserungsvorschläge
Verbesserungsvorschläge
Verbesserungsvorschläge
Verbesserungsvorschläge
Verbesserungsvorschläge
Verbesserungsvorschläge

Unerwünschte Lichtquellen loswerden

Dies sollte nicht viel ausmachen, wenn Sie das Mikroskop nur zum Löten und zur Platineninspektion verwenden möchten, aber wenn Sie auch ein paar Bilder damit machen möchten, finden Sie möglicherweise einen störenden roten Fleck auf Ihren Fotos. Dies wird durch die LED des Kameramoduls verursacht, die immer leuchtet, während die Kamera arbeitet.

Wenn Sie es zum Glück ausschalten möchten, ist dies ganz einfach. Nachdem Sie die /boot-Partition beschreibbar gemacht haben, sudo mount -o remount, rw /boot

Bearbeiten Sie Ihre /boot/config.txt mit nano, sudo nano /boot/config.txt

und füge am Ende die folgende Zeile hinzu, disable_camera_led=1

Dies sollte dazu führen, dass die Kamera-LED nach dem Neustart des Systems aus bleibt.

Wenn Sie jetzt die tragbare Version gemacht haben, hat der PowerBoost 1000C leider eine lächerlich helle blaue LED, die anzeigt, dass der Strom eingeschaltet ist. Abgesehen davon, dass Sie die Belichtung Ihrer Bilder ruinieren, können Sie es beim Löten auch als äußerst störend für Ihre Augen empfinden, nur weil es so hell ist.

Aus diesem Grund sollten Sie die Power-LED oder den damit in Reihe geschalteten Widerstand vollständig von der Platine entfernen. Alternativ können Sie stattdessen den 1K-Widerstand, der in Reihe geschaltet ist, durch einen größeren ersetzen, damit die LED dunkler wird.

Einstellbare Vergrößerung

Anstatt sich ein normales Raspberry Pi-Kameramodul zu besorgen und es zu hacken, um seine Brennweite zu ändern, können Sie, wenn es Ihnen nichts ausmacht, etwas mehr Geld zu sparen, auch ein Kameramodul mit einstellbarer Brennweite für etwas mehr als 20€ ab Ebay.

Mit einem solchen Kameramodul können Sie die Vergrößerung ganz einfach anpassen, denn wenn Sie die Kamera nach unten bewegen, müssen Sie zum Scharfstellen nur das Objektiv etwas herausdrehen. Auf diese Weise können Sie auch problemlos recht große Vergrößerungen erzielen. Beachten Sie jedoch, dass die Schärfentiefe nach einem Punkt so stark wird, dass das Mikroskop fast unbrauchbar wird, wie Sie auch im beigefügten Bild sehen können.

Zusammenfassend kann ich sagen, wenn Sie es sich leisten können, empfehle ich dringend, stattdessen eines dieser Kameramodule zu kaufen, da es Ihnen unglaublich viel Flexibilität bietet.

Mikrocontroller-Wettbewerb 2017
Mikrocontroller-Wettbewerb 2017
Mikrocontroller-Wettbewerb 2017
Mikrocontroller-Wettbewerb 2017

Zweiter Preis beim Microcontroller Contest 2017

Empfohlen: