<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://globalmeteornetwork.org//wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Markmcintyre</id>
	<title>Global Meteor Network - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://globalmeteornetwork.org//wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Markmcintyre"/>
	<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Special:Contributions/Markmcintyre"/>
	<updated>2026-04-29T09:59:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Focusing_a_camera_and_the_first_tests&amp;diff=922</id>
		<title>Focusing a camera and the first tests</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Focusing_a_camera_and_the_first_tests&amp;diff=922"/>
		<updated>2026-03-13T11:52:29Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Focusing the Camera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, cable the camera for the first time, do the preliminary focusing, configure your camera and optionally test the whole system. &lt;br /&gt;
&lt;br /&gt;
= Testing and Focusing =&lt;br /&gt;
At this point, your camera must be tested and focused. There&#039;s no point sealing up the housing and screwing it to the wall if its not working or isn&#039;t focused ! &lt;br /&gt;
&lt;br /&gt;
== Testing the Camera ==&lt;br /&gt;
* If your camera came with a single PoE cable, connect this to a netork cable and plug the other end of the network cable into your PoE injector. &lt;br /&gt;
&lt;br /&gt;
* if your camera came with a cable with separate network and power sockets, plug the &amp;quot;output&amp;quot; PoE adapter into the camera cable and plug a network cable into the PoE adapter, then connect the other end of the network cable into the other PoE adapter.&lt;br /&gt;
*. Connect the PoE adapter or injector into a spare socket on your home router and connect the camera power supply to it.&lt;br /&gt;
&lt;br /&gt;
The Camera PoE cable lights should come on, indicating traffic is flowing. After a few seconds, it should steady down to irregular flashing. If you don&#039;t see flashing lights then check the cable connections to make sure everything is plugged in properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
=== Find its IP Address ===&lt;br /&gt;
[[File:ip-scan.jpg|thumb|right|Finding the Camera Address]]&lt;br /&gt;
The camera should now appear as a device on your network and to test it properly you will need to find its IP Address. The easiest way to do this is using a free piece of software called [[https://www.advanced-ip-scanner.com/|Advanced IP Scanner]]. Download and run it (no need to install). Click &amp;quot;Scan&amp;quot; and wait till it finishes. The camera can usually be identified by Manufacturer &#039;ICP Internet Communications&#039; or &#039;Motion Control Systems&#039;, though other vendor names are possible such as &#039;Koenig &amp;amp; Bauer AG&#039; and &#039;Metrohm AG&#039;. If none of the names look right you may need to experiment by trying to connect to each candidate in turn.&lt;br /&gt;
&lt;br /&gt;
=== Checking the Connection ===&lt;br /&gt;
[[File:vlcconfig.jpg|thumb|right|VLC Network Stream]]&lt;br /&gt;
* Once you have the IP Address, open VLC on your Pi, Mac or Windows machine, and from the &amp;quot;Media&amp;quot; menu, select &amp;quot;Open Network Stream&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Enter the following into the address box, replacing &#039;&#039;&#039;1.2.3.4&#039;&#039;&#039; with the address you got in the previous step&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;rtsp://&#039;&#039;&#039;1.2.3.4&#039;&#039;&#039;:554/user=admin&amp;amp;password=&amp;amp;channel=1&amp;amp;stream=0.sdp&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* After a second or two, you should get a view through the camera. If nothing comes up, check you have got the right IP address, and that the cables are secure. &lt;br /&gt;
&lt;br /&gt;
* You can now double-check that you installed the camera the right way up. &lt;br /&gt;
If the image is upside down in VLC, turn it through 180 degrees in the housing. do &#039;&#039;&#039;not&#039;&#039;&#039; be tempted to use firmware settings to flip or mirror the image. These cameras have a &#039;rolling&#039; shutter and to work out precise timings of meteors, the RMS software compensates for the shutter movement. If the camera is upside down and the image then flipped, the shutter is working in the opposite direction to that expected by RMS and timings will be wrong. You &#039;&#039;&#039;must&#039;&#039;&#039; physically rotate the camera. &lt;br /&gt;
&lt;br /&gt;
* Note that its entirely normal for the image to be very red and overexposed in daylight. We&#039;ve removed the IR Block filter so the camera picks up a lot of red light. This is exactly what we want. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Checking for Obstructions of camera housing ==&lt;br /&gt;
[[File:vlcview.jpg|thumb|right|Obstructions]]&lt;br /&gt;
&lt;br /&gt;
This is to make sure that the camera housing is not too visible in the camera&#039;s FoV.&lt;br /&gt;
&lt;br /&gt;
* Temporarily close the housing case up and check if it can be seen obstructing the view anywhere. &lt;br /&gt;
&lt;br /&gt;
* Check the live stream from the camera and if necessary bend or tilt the bracket to angle the camera down a bit (inside the camera housing). &lt;br /&gt;
&lt;br /&gt;
* However, don&#039;t worry if you can&#039;t eliminate all obstructions. Later on you will create a software mask to prevent these areas causing false detections. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Focusing the Camera ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s a whole separate section of the Wiki on [[Focusing_your_camera|focusing]], but here&#039;s the short version !!&lt;br /&gt;
* With the camera in the housing, connect the camera to your network as above.&lt;br /&gt;
* Open VLC.&lt;br /&gt;
* At night, aim the camera out an open window at something at around 30-50 metres away. &lt;br /&gt;
* Screw the lens in and out slowly to get best focus. &lt;br /&gt;
* Pin-sharp focus is not necessary and is in fact not optimal - a little out of focus is fine as it helps stars show up.&lt;br /&gt;
&lt;br /&gt;
Aside: it is not necessary to focus on stars as the camera has an enormous depth of field and anything from a few metres to infinity will be in focus. However, you can double-check focus on stars if you want. &lt;br /&gt;
&lt;br /&gt;
You can use the RMS utility ShowLivestream instead of VLC, if you have already fully configured the camera and Pi as explained in the next step. &lt;br /&gt;
&lt;br /&gt;
Note that there&#039;s a short lag due to the network, so you should wait a second or two after each adjustment to allow the change to be reflected in VLC.&lt;br /&gt;
&lt;br /&gt;
Important note: if your camera came with an electronic filter and you have left the &#039;daytime&#039; filter in place you MUST finalise focus at night. The filters slightly alter focus.&lt;br /&gt;
&lt;br /&gt;
= [Optional] All system test =&lt;br /&gt;
&lt;br /&gt;
* Hook RPi up to a monitor with an HDMI cable&lt;br /&gt;
&lt;br /&gt;
* Plug a keyboard and mouse into USB ports on the RPi&lt;br /&gt;
&lt;br /&gt;
* Connect one end of an ethernet cable into the ethernet port on the RPi and the other end into the ‘LAN’ port on the POE injector (See image below).&lt;br /&gt;
&lt;br /&gt;
* Connect another ethernet cable into the ‘POE’ port on the injector and run to the camera cable connector (See image below). Before plugging into the camera, run the cable end through the ethernet connector cover.&lt;br /&gt;
&lt;br /&gt;
* Plug the POE injector into a wall outlet.&lt;br /&gt;
&lt;br /&gt;
* Plug the RPi power supply into the RPi and then into a wall outlet.&lt;br /&gt;
&lt;br /&gt;
* The first thing you would need to do is to connect it to WiFi. In the upper right corner, click on the two arrows pointing up and down, choose your WiFi network and enter the password. You should now be connected to the Internet.&lt;br /&gt;
&lt;br /&gt;
* Ignore (for now) the steps in the terminal window shown on the screen which will help you set everything up.&lt;br /&gt;
&lt;br /&gt;
* The video stream can be checked by double-clicking on the RMS.ShowLiveStream icon on the desktop. When asked, click ‘Execute in terminal’. You should then see a live stream from the camera. To stop the live stream hold down the ‘Ctrl’ key and press ‘c’ while the mouse is in the terminal window that popped up. Note that the stream will lag behind the real-view for a few seconds.&lt;br /&gt;
&lt;br /&gt;
If the video stream opens and looks good, then you have successfully tested your system!&lt;br /&gt;
&lt;br /&gt;
[[File:All_system_test.png]]&lt;br /&gt;
&lt;br /&gt;
= Camera setup &amp;amp; configuration =&lt;br /&gt;
To operate at night, the camera must be reset to the correct gain, colour mode and video mode. There are two ways you can do this - doing it via the CMS software (works on Windows only) or via RMS scripts (can be done directly from your Raspberry Pi). In any case it is recommended to watch the below video.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note:&#039;&#039;&#039; IMX307 has almost identical firmware and the settings are the same apart from one and that is gain, which you need to set to 15 instead of 60 as for IMX291.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; Please set IMX307 to a fixed IP address instead of DHCP as there were reported issues with the DHCP setting on this module.&lt;br /&gt;
&lt;br /&gt;
== Camera setup &amp;amp; configuration - Youtube video method ==&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
* CMS is a security camera software package you can download [https://www.dropbox.com/s/3r4fiqec6jpzwz3/CMS%20and%20Manual.rar?dl=0 as a rar archive here] or [https://archive.ukmeteors.co.uk/RMS_images/CMS.zip as a zip archive here]. You can use the software as explained in the video by Denis Vida below. &lt;br /&gt;
* Note however that you should reset the network as the LAST thing you do. The video does it a bit soon.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://www.youtube.com/watch?v=N2sq1hBwcAA&lt;br /&gt;
|alignment=center&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Camera setup &amp;amp; configuration - RMS Script method ==&lt;br /&gt;
[[File:Ping-camera.JPG|thumb|right|Making sure the Pi can see the Camera]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that all RMS scripts MUST be run from the source/RMS folder as the Pi user. Don&#039;t be tempted to cd into a different folder! It won&#039;t work.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* If you have a Pi4, you can use a utility that&#039;s part of RMS, as follows: &lt;br /&gt;
&lt;br /&gt;
* If you&#039;re not using the pre-built image, first install RMS on the Pi as explained [https://globalmeteornetwork.org/wiki/index.php?title=Main_Page#RMS_Software_Installation here].&lt;br /&gt;
 &lt;br /&gt;
* Now plug the camera into your router, open a Terminal window on the Pi and, using the address of your camera, make sure the Pi can ping the camera:&lt;br /&gt;
&amp;lt;pre&amp;gt;ping a.b.c.d&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you get any errors or timeouts, check the camera IP address, and check that the Pi is connected to your home network. &lt;br /&gt;
&lt;br /&gt;
* Next open a terminal window and run this script to reset the camera IP address.  &lt;br /&gt;
&amp;lt;pre&amp;gt; python -m Utils.SetCameraAddress a.b.c.d 192.168.42.10&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You will lose connection to the camera and see a bunch of error messages. Thats normal. Once you see a timeout message, unplug the power and network from the camera. &lt;br /&gt;
 &lt;br /&gt;
* Now plug the camera directly into the Pi&#039;s ethernet port, open a Terminal window and run the following script to update the camera gain, video mode, and other settings. &lt;br /&gt;
[[File:Setting-camer-params.JPG|thumb|right|Setting Camera Params]]&lt;br /&gt;
&amp;lt;pre&amp;gt;Scripts/RMS_SetCameraParams.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Run this ONLY FOR IMX307 as addition to the script run above&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;python -m Utils.CameraControl SetParam Camera GainParam Gain 15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note: If you have RMS installed on your PC then you can change the camera address from your PC instead, then connect it to the Pi and run the 2nd script. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to install your camera into the position. Drilling holes into the wall is fun, right? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Main_Page&amp;diff=786</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Main_Page&amp;diff=786"/>
		<updated>2025-08-24T11:13:35Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Build your own from scratch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Global Meteor Network wiki page!&lt;br /&gt;
&lt;br /&gt;
The Global Meteor Network (GMN) is a world-wide organization of amateur and professional astronomers. The goal is to observe the night sky using low-light video cameras and produce meteor trajectories in a coordinated network of recording stations. Here, you can find information about the purpose and structure of the GMN, and how to assemble and operate your own meteor camera. You also will discover how to contribute to the development of RMS (the GMN software) and how your observations as a citizen scientist contribute to the ongoing understanding of our solar system&#039;s formation and evolution. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;If you are here to find out how to build and set up a camera from scratch, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to this] section!&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;For German speakers, there is &amp;quot;Build camera from scratch&amp;quot; documentation written by students of [https://fsg-preetz.de/ Friedrich-Schiller-Gymnasium in Preetz] available [http://wiki.linux-astronomie.de/doku.php?id=ceres here]. This version is maintained by Friedrich-Schiller-Gymnasium in Preetz. &amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Meteor Network overview ==&lt;br /&gt;
&lt;br /&gt;
===  [https://globalmeteornetwork.org/?page_id=141 Our mission] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=363 A brief history of the Global Meteor Network] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://www.youtube.com/watch?v=MAGq-XqD5Po Video introduction - Overview of the Global Meteor Network (IMC2020)] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://youtu.be/oM7lfQ4nmyw Video overview - Meteor tracking and the GMN from Astro Imaging Channel presentation] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/data/ Some &#039;live&#039; GMN data products] ===&lt;br /&gt;
&lt;br /&gt;
== Meteor detection station ==&lt;br /&gt;
&lt;br /&gt;
What is an RMS GMN station? An RMS-based GMN station consists of a Raspberry Pi (RPi) single board computer, a low light level security video camera, the RMS software, and a connection to the Internet via Wifi. The camera is securely mounted in a weatherproof housing, pointed at the sky, and connected to the RPi with a Power Over Ethernet (POE) cable. To be a part of the GMN network, you need a fairly powerful Raspberry Pi (Pi 4, 5, or better) and a reasonably fast Internet connection. The internet connection is required only for data upload to a central server each morning and to provide automatic updates for the RMS software. &lt;br /&gt;
&lt;br /&gt;
Nightly, the RPi records video from the camera shortly after local sunset, then continuously compressing and storing the video data on a local SSD drive. Each morning before sunrise, when capture is complete, the RPi analyzes the video and extracts  meteor observations from the previous night. These extracted video clips of detected meteors are archived and then uploaded to a server. On a &#039;busy&#039; night, the clips can total hundreds of megabytes as a result of a heavy meteor shower or a night with a lot of false detections. &lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; Continuous progress is being made on the detection software to filter out false detections. &lt;br /&gt;
&lt;br /&gt;
The server finds meteors that were observed from more than one station, which allows the server to triangulate meteor trails in 3D and calculate the orbits of the meteors.&lt;br /&gt;
&lt;br /&gt;
=== What do I need? ===&lt;br /&gt;
&lt;br /&gt;
You need a Raspberry Pi compluter, RMS software, and a camera kit. &lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; We strongly recommend the Pi 4 or 5 model. &lt;br /&gt;
The software can run on a Pi3, but it is much slower and it is no longer supported. A list with everything you need is available here: [https://globalmeteornetwork.org/wiki/index.php?title=Shopping_list_and_tools_needed page].&lt;br /&gt;
&lt;br /&gt;
You can run multiple cameras on a Linux PC, and details are available &#039;&#039;&#039;[https://docs.google.com/document/d/16PSFi8RAqbenPdluhulCRaIenOkEzgs5piUhkX3yaOc/edit here]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== How do I obtain a camera? ===&lt;br /&gt;
There are two options - buy a camera or build a camera.&lt;br /&gt;
&lt;br /&gt;
==== Buy a Camera ====&lt;br /&gt;
You can buy a camera and prebuilt Pi, and ready to install. Cameras are available from several suppliers, as well as the Croatian Meteor Network, as explained here: [https://globalmeteornetwork.org/?page_id=136 this page]. &lt;br /&gt;
If you are in the UK, you can contact the UK Meteor network for advice. [https://ukmeteornetwork.org/ UK Meteor Network].&lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; As of 2024, UK Meteor network can no longer sell cameras directly.&lt;br /&gt;
&lt;br /&gt;
==== Build your own from scratch ====&lt;br /&gt;
This option requires an intermediate level of DIY skills and familiarity with the Raspberry Pi, but do not be put off. The instructions are comprehensive and, if you get stuck, you can ask for advice in the forum here: &#039;&#039;&#039;[https://groups.io/g/globalmeteornetwork groups.io]&#039;&#039;&#039; forum.&lt;br /&gt;
&lt;br /&gt;
You can find out more about this option here: &#039;&#039;&#039;[[Build &amp;amp; Install &amp;amp; Setup your camera - The complete how-to]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Advanced RMS installations and multi-camera support ===&lt;br /&gt;
If you would like to explore advanced RMS installation options for various platforms or run multiple cameras on a single Linux computer, complete information is available on &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
If you plan to run RMS software on the Raspberry Pi 4 or 5, the best supported and easiest solution is our prepared image. Complete information is available in an &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_- Extensive how-to guide]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Can I use a commercial all-sky camera? ===&lt;br /&gt;
&lt;br /&gt;
Generally, this is not a good idea because these cameras lack sufficient sensitivity. More information is available here: &#039;&#039;&#039;[https://globalmeteornetwork.org/?p=163 See this recent experiment]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Operate and maintain your GMN station ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; GMS is a nascent operation, so you may share some of our growing pains if you choose to be involved. We are constantly solving bugs and making improvements, which is an opportunity for you to help if you have programming skills! The workload of day-to-day operation can be non-zero, and may require some of your time.&lt;br /&gt;
&lt;br /&gt;
Ideally, you should monitor your RMS Pi systems daily to identify freezes, glitches, or other problems. For example, you may see birds nesting or soiling the camera window, someone may unintentionally unplug the power cord, or animals (mice, cats, or dogs) may chew on the camera Ethernet cable. Although we make constant progress, the GMS network is not yet a &#039;power up and forget about it&#039; system. &lt;br /&gt;
&lt;br /&gt;
By its nature, the GMS network is staffed by lots of people who are willing to help newcomers get started. Here are some suggestions for daily operation of your RMS camera.&lt;br /&gt;
&lt;br /&gt;
=== What does the meteor camera do over the course of 24 hours? ===&lt;br /&gt;
&lt;br /&gt;
The RMS python-based system calculates the sundown to sunrise interval, and schedules video camera capture all night. Based on the video camera and capabilities of the Pi, the camera captures at least 25 frames per second between evening and morning twilight. During each nightly continuous image capture, the station processes captured image data and idenitfies frames that contain a minimum number of stars (usually around 20) that are worth reviewing for meteor detections. When data capture is complete, the station begins processing all frames it flagged with possible detections, then refines the astrometric accuracy of every positive detection. Using the station plate parameters (platepar) calibration file, processing iterates to find the best astrometry and photometry solution for each detected meteor. After this process analyzes each detection, summary files are created. &lt;br /&gt;
&lt;br /&gt;
The summary files include many types of information.&lt;br /&gt;
* Text file data presentation in several widely accepted formats (such as &#039;&#039;CAMS&#039;&#039; and &#039;&#039;UFOorbit&#039;&#039;).&lt;br /&gt;
* Graphic plots of detection frequencies throughout the night.&lt;br /&gt;
* Plot of all detections, showing any identified radiants.&lt;br /&gt;
* Plots of photometry, astrometry, and camera pointing drift in arc minutes throughout the course of the night as the mount or building flexes.&lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039;  Detailed information about plots is available here: &#039;&#039;&#039;[https://docs.google.com/document/d/132aHGn0QPzhpVN2s2n6FT6rJn39LAsPkchWJqXQb8Qk/edit?usp=sharing Explanation of GMN plots]&#039;&#039;&#039;&lt;br /&gt;
* Thumbnail images of detections.&lt;br /&gt;
* Thumbnail images of data captured throughout the night.&lt;br /&gt;
* Single image with all detections stacked together.&lt;br /&gt;
* Single image with all captured images stacked together.&lt;br /&gt;
* Flat file for correcting images.&lt;br /&gt;
* An &#039;&#039;.mp4&#039;&#039; movie time lapse of the night&#039;s captured images.&lt;br /&gt;
* Meteor shower flux charts, if specific showers are detected.&lt;br /&gt;
* Observation summary data of hardware and data recording characteristics.&lt;br /&gt;
 &lt;br /&gt;
When you click a meteor track, its data displays in the lower data window. Ultimately, all results are combined into a single compressed archive that automatically uploads each morning to the central server. &lt;br /&gt;
&lt;br /&gt;
Each morning, you can review the result files on the RPi and copy anything you want to your computer or tablet.&lt;br /&gt;
&lt;br /&gt;
===Archive data ===&lt;br /&gt;
&lt;br /&gt;
Your primary scientific data is automatically uploaded to the central server every morning after data processing is complete. &lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; When the night&#039;s results are uploaded, RMS purges the oldest data to free up space for the next night&#039;s run. As a result, you may want to copy some of the data to a PC, NAS, or the cloud for further analysis.&lt;br /&gt;
:       You should consider backing up the content of &#039;&#039;&#039;~/RMS_data/ArchivedFiles&#039;&#039;&#039;, which holds individual files and data that RMS determined were probably meteors. &lt;br /&gt;
&lt;br /&gt;
Details about backing up data is beyond the scope of the GMN Wiki. Tools such as Robocopy for Windows and rsync for Linux/MacOS are ideal, and they can &#039;mirror&#039; data across a network. Help to configure these tools is available in the &#039;&#039;&#039;Globalmeteornetwork&#039;&#039;&#039; group on &#039;&#039;&#039;groups.io&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
In addition, we added some automated tools that can help you back up data to a thumb drive inserted into the RPi. Assistance about these tools also is available in the &#039;&#039;&#039;Globalmeteornetwork&#039;&#039;&#039; group on &#039;&#039;&#039;groups.io&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Backup and restore the configuration and RSA keys===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If you are on an older Buster image, you must replace username &#039;&#039;rms&#039;&#039; with username &#039;&#039;pi&#039;&#039;. For example, enter &#039;&#039;/home/pi&#039;&#039; instead of &#039;&#039;/home/rms&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To determine which username to use, run &lt;br /&gt;
::&#039;&#039;ls /home/rms home/pi&#039;&#039;&lt;br /&gt;
to display the username that is your home directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back up the configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Open a terminal and run the command  &#039;&#039;Scripts/RMS_Backup.sh&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
: A compressed &#039;&#039;.zip&#039;&#039; file, with all important configuration files and keys, is created in your user home directory with the prefix &#039;&#039;RMS_Backup&#039;&#039; and the &#039;&#039;.zip&#039;&#039; extension. &lt;br /&gt;
: For example, &#039;&#039;/home/rms/RMS_Backup_XX0001_2023-01-28.zip&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
2. Copy the &#039;&#039;.zip&#039;&#039; file to a safe place outside RPi. &lt;br /&gt;
&lt;br /&gt;
: Later, it will be useful to restore the system in case of failure. The &#039;&#039;.zip&#039;&#039; file contains the RSA public and private keys used to contact GMN servers, so keep it secret.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restore the configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Unzip the backup file in any folder on the RPi.&lt;br /&gt;
&lt;br /&gt;
2. Copy the files &#039;&#039;.config&#039;&#039;, &#039;&#039;platepar_cmn2010.cal&#039;&#039;, and &#039;&#039;mask.bmp&#039;&#039; to the folder &#039;&#039;/home/rms/source/RMS/&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3. Copy the files &#039;&#039;id_rsa&#039;&#039; and &#039;&#039;id_rsa.pub&#039;&#039; to the folder &#039;&#039;/home/rms/.ssh/&#039;&#039;, as shown in this example:&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;cp .config platepar_cmn2010.cal mask.bmp /home/rms/source/RMS/&#039;&#039;&lt;br /&gt;
: &#039;&#039;cp id_rsa id_rsa.pub /home/rms/.ssh/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
4. To make sure that permission bits in the RSA key files are correct, enter:&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;chmod 400 ~/.ssh/id_rsa*&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== View the data ===&lt;br /&gt;
&lt;br /&gt;
To view data, you can use &#039;&#039;&#039;CMN_binViewer&#039;&#039;&#039; software [https://github.com/CroatianMeteorNetwork/cmn_binviewer], which is included in the RMS SD image. &lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; There also is a Windows version [https://github.com/CroatianMeteorNetwork/cmn_binviewer/releases] you can install.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; You can open images in astronomical FITS viewers, such as &#039;&#039;&#039;FITS Liberator&#039;&#039;&#039; or &#039;&#039;&#039;Pixinsight&#039;&#039;&#039;, but what you see may be surprising. For example, in &#039;&#039;&#039;FITS Liberator&#039;&#039;&#039;, the image is upside down, which is an artefact of how the software reads the image. &lt;br /&gt;
&lt;br /&gt;
In space, there is no &#039;up&#039; or &#039;down&#039;, so the FITS specification does not dictate if pixel (0,0) is at a specific corner. Some software, notably &#039;&#039;&#039;FITS Liberator&#039;&#039;&#039;, specifies the top left corner as the origin location, which causes terrestrial images  to display vertically mirrored.&lt;br /&gt;
&lt;br /&gt;
=== Tools and utilities ===&lt;br /&gt;
&lt;br /&gt;
There are many tools available.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[https://www.realvnc.com/en/connect/download/viewer/ RealVNC]&#039;&#039;&#039;, &#039;&#039;&#039;[https://www.nomachine.com/ NoMachine]&#039;&#039;&#039;, &#039;&#039;&#039;[https://anydesk.com/en AnyDesk]&#039;&#039;&#039;, or &#039;&#039;&#039;[https://rustdesk.com/ RustDesk]&#039;&#039;&#039; remote connect tools provide station access from anywhere. Access to your station from outside your network is enabled by an OpenVPN connection address that is available to meteor stations.&lt;br /&gt;
: With &#039;&#039;&#039;VNC&#039;&#039;&#039; and &#039;&#039;&#039;Teamviewer&#039;&#039;&#039;, you can create an account and team on their websites, and then remotely access your station. &lt;br /&gt;
* &#039;&#039;&#039;Samba&#039;&#039;&#039; data directory access allows you to copy data results directly from your RPi to your computer or tablet.&lt;br /&gt;
* &#039;&#039;&#039;[https://github.com/CroatianMeteorNetwork/cmn_binviewer CMN_binViewer]&#039;&#039;&#039; allows you to view standard FITS image files that contain meteor detections. It runs on the RPi, and it can run under Windows.&lt;br /&gt;
* &#039;&#039;&#039;[https://sonotaco.com/soft/e_index.html UFO Orbit]&#039;&#039;&#039; allows you to process data from multiple stations, and generate unified radiants of two or more stations that see the same meteor. &#039;&#039;&#039;[https://sonotaco.com/soft/e_index.html UFO Orbit]&#039;&#039;&#039; can plot the shared object ground path and orbital characteristics, and it can output a summary file of all objects seen by more than one station.&lt;br /&gt;
* RMS software can be installed under Windows to allow much of the RMS python-based code to run on your computer. This means you can run RMS against meteor station data that was transferred to your computer from the RPi.&lt;br /&gt;
&lt;br /&gt;
You also can run RMS python jobs on the RPi to sample captured image files, and then condense them into an &#039;&#039;.mp4&#039;&#039; video. Sometimes, these videos are mesmerizing summaries that can run for more than two minutes of winter time data.&lt;br /&gt;
&lt;br /&gt;
== What can I do with my GMN station? ==&lt;br /&gt;
&lt;br /&gt;
=== Use SkyFit2 for astrometric and photometric calibration + Manually reduce observations of fireballs and compute their trajectories ===&lt;br /&gt;
* &#039;&#039;&#039;[https://www.youtube.com/watch?v=ao3J9Jf0iLQ Updated 2023 video tutorial]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[https://www.youtube.com/watch?v=MOjb3qxDlX4 Old 2021 video tutorial]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/fov3d/ Generate a Google Earth KML file to show your station&#039;s field of view] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=253 Use the UFO Orbit program to estimate meteor trajectories] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=221 Urban meteor observing] ===&lt;br /&gt;
&lt;br /&gt;
== Data analysis with SkyFit2 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SkyFit2&#039;&#039;&#039;, a program in the RMS library, allows you to analyze optical meteor data in most of the optical formats in current use. The program supports popular video formats (&#039;&#039;.mp4&#039;&#039;, &#039;&#039;.avi&#039;&#039;, and &#039;&#039;.mkv&#039;&#039;), sequences of static images, and single images with shutter breaks.&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;[https://www.youtube.com/watch?v=ao3J9Jf0iLQ video tutorial]&#039;&#039;&#039; explains how to useg &#039;&#039;&#039;SkyFit2&#039;&#039;&#039; to run astrometric and photometric calibrations on GMN data, and it can manually reduce observations of fireballs and compute their trajectories.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of &#039;&#039;&#039;SkyFit2&#039;&#039;&#039; is available on the &#039;&#039;&#039;[[SkyFit2|SkyFit2]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== What should I back up when I re-flash an SD card or a USB disk? ===&lt;br /&gt;
&lt;br /&gt;
You should backup the &#039;&#039;.config&#039;&#039;, platepar, and mask files that are in the RMS source directory, plus the entire content of the hidden directory &#039;&#039;/home/pi/.ssh&#039;&#039;. Refer to the section titled, &#039;&#039;&#039;Back up the configuration&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If your SD card or USB disk fails or becomes corrupted, you can fetch the config files from the server because they are uploaded every day, together with the data.&lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; The content of &#039;&#039;.ssh&#039;&#039; is essential for connection to the server, so you also must save these files. &lt;br /&gt;
&lt;br /&gt;
After you set up a new SD card or USB disk, return the files to their original location.&lt;br /&gt;
&lt;br /&gt;
=== What are the values in the &#039;&#039;FTPdetectinfo_*&#039;&#039;  file designated as hnr mle bin Pix/fm Rho Phi? ===&lt;br /&gt;
&lt;br /&gt;
Some of these values (hnr mle bin) are not used in RMS but they are used in CAMS, so their presence is to conform to the standard. As a result, these values are all zeros. &lt;br /&gt;
&lt;br /&gt;
There are other values:&lt;br /&gt;
* Pix/fm is the average angular speed of the meteor, in pixels, per frame.&lt;br /&gt;
* Rho, Phi are parameters that define the line of the meteor in polar coordinates, see this &#039;&#039;&#039;[https://en.wikipedia.org/wiki/Hough_transform#Theory page]&#039;&#039;&#039; for more detail. &lt;br /&gt;
: &#039;&#039;Rho&#039;&#039; is the distance of the line from the center of the image.&lt;br /&gt;
: &#039;&#039;Phi&#039;&#039; is the angle of the line, as measured from the positive direction of the Y axis. (Basically, this is a line from the center of the image to the top of the image.) The positive angles are measured clockwise, although the CAMS standard may define these parameters a bit differently, with the Y axis flipped.&lt;br /&gt;
The &#039;&#039;intensity&#039;&#039; is the sum of all pixel intensities of the meteor on a given frame. &lt;br /&gt;
&lt;br /&gt;
For example, you could represent an area around the meteor on a given frame, as shown in the figure, where the numbers are pixel intensities on an 8-bit image (so they can range from 0 to 255) and the pixel values inside the red boundary represent the meteor blob on the frame. The result? The intensity is the sum of all numbers inside the red boundary. &lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; Later, this value is used to compute the magnitude.&lt;br /&gt;
&lt;br /&gt;
[[File:Intensity_sum.png |Intensity_sum.png ]]&lt;br /&gt;
&lt;br /&gt;
The magnitude is computed as&lt;br /&gt;
: &#039;&#039;mag = -2.5*log10(intensity sum) + photometric_offset&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
To estimate the photometric offset in &#039;&#039;&#039;SkyFit&#039;&#039;&#039;, fit the line with slope -2.5 through pairs of known magnitudes of stars and logartihms of their pixel intensity sum. Fundamentally, the photometric offset is the intercept of that line. &lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; The constant slope of -2.5 comes from the &#039;&#039;&#039;[https://en.wikipedia.org/wiki/Apparent_magnitude#Calculations Definition of stellar magnitudes]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== GMN data policy ==&lt;br /&gt;
&lt;br /&gt;
The Global Meteor Network produces three levels of data products.&lt;br /&gt;
* Level 1 - The lowest level data (as close to &#039;raw&#039; as possible) are the FF image and FR video files saved to the RPi by the capture code and the fireball detector.&lt;br /&gt;
* Level 2 - Data is used in three ways:&lt;br /&gt;
:* The meteor detector extracts positional and brightness information of individual meteors (&#039;&#039;FTPdetectinfo&#039;&#039; file). &lt;br /&gt;
:* Images are used for astrometric and photometric calibration (platepar file). &lt;br /&gt;
:* Meteor and star detections are used to generate a range of plots, such as the single-station shower association graph and the camera drift graph. The calibrated meteor measurements are uploaded to the GMN server, together with the raw images of individual meteors.&lt;br /&gt;
* Level 3 - Software on the server correlates individual observations and computes multi-station meteor trajectories, which are published daily on the &#039;&#039;&#039;GMN [https://globalmeteornetwork.org/data/ Data website]&#039;&#039;&#039;. This data is made public under the &#039;&#039;&#039;[https://creativecommons.org/licenses/by/4.0/ CC BY 4.0 license]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Operators of individual GMN stations exclusively own the Level 1 and Level 2 data their stations produce. In practice, this means they are free to share this data with other meteor networks if they wish. The data that is uploaded to the GMN server is not shared publicly or with other parties without the operator&#039;s consent. However, the data may be used internally by the GMN coordinators to manually produce other data products, such as the trajectory of a meteorite dropping fireball or an analysis of a meteor shower. &lt;br /&gt;
: &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; All station operators are credited for their data in all GMN publications.&lt;br /&gt;
&lt;br /&gt;
== IstraStream ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://IstraStream.com IstraStream.com]&#039;&#039;&#039; was an independent hosting site primarily intended for cameras sold by IstraStream. In mid-2023, Istrastream stopped listing camera image output. The IstraStream data display was replaced with the &#039;&#039;&#039;[https://globalmeteornetwork.org/weblog/ GMN weblog]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This document explains the meaning of plots on the &#039;&#039;&#039;[https://globalmeteornetwork.org/weblog/ GMN weblog]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== For more information ==&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?page_id=43 Contact the Global Meteor Network] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://groups.io/g/globalmeteornetwork Join the Global Meteor Network Forum] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://github.com/markmac99/ukmon-pitools/wiki UK Meteor Network Wiki]===&lt;br /&gt;
This wiki has numerous FAQs and tips on maintaining, monitoring and managing your system, and several explainers such as how to calibrate and create a mask, how to copy data and so forth. &lt;br /&gt;
&lt;br /&gt;
=== Important GMN resources ===&lt;br /&gt;
&lt;br /&gt;
There are two additional web pages you should know about.&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;[https://globalmeteornetwork.org/status GMN status page]&#039;&#039;&#039; provides access to the &#039;&#039;&#039;[https://globalmeteornetwork.org/weblog/ GMN weblog]&#039;&#039;&#039;.&lt;br /&gt;
* A mapping utility website that is directly derived from GMN data: &#039;&#039;&#039;[https://tammojan.github.io/meteormap Meteor map]&#039;&#039;&#039;.&lt;br /&gt;
: &#039;&#039;&#039;NOTE:&#039;&#039;&#039; This map takes quite a while to load. When you review the map, you must scroll down to see the full power of the data display.&lt;br /&gt;
&lt;br /&gt;
=== GMN talks ===&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/playlist?list=PLmQ5Bvz4ACYJLYfswIeAipapoeGeI6QWy GMN talk for Society for Astronomical Sciences workshop 2024 (The first 3 videos)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=IfUyCHjMATc 2023 GMN Meeting Session 1 (February 2023)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=I78KwF5-1GE 2023 GMN Meeting Session 2 (February 2023)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=wDdrG_FCyGk 2022 GMN Meeting Session 1 (February 2022)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=j_75CDPzjI4 2022 GMN Meeting Session 2 (February 2022)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=f6x9_WCVphY GMN talk at the European Space Agency&#039;s Fireball Workshop (June 2021)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=QXBTLPnPDWs 2021 GMN Meeting] - [https://www.dropbox.com/sh/ia9vagug5lxm8k9/AAB_i_1jcWThUdAHO_2gF_Ksa?dl=0 Link to slides]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=MAGq-XqD5Po Overview of the GMN - IMC2020 (September 2020)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=oM7lfQ4nmyw Overview of the GMN, Astro Imaging Channel presentation (May 2020)]&lt;br /&gt;
&lt;br /&gt;
=== GMN-related publications ===&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/abs/2206.11365 Vida, D., Blaauw Erskine, R. C., Brown, P. G., Kambulow, J., Campbell-Brown, M., &amp;amp; Mazur, M. J. (2022). Computing optical meteor flux using global meteor network data. Monthly Notices of the Royal Astronomical Society, 515(2), 2322-2339.]&lt;br /&gt;
&lt;br /&gt;
: [https://academic.oup.com/mnras/advance-article/doi/10.1093/mnras/stab2557/6368869 Moorhead, A. V., Clements, T., &amp;amp; Vida, D. (2021). Meteor shower radiant dispersions in Global Meteor Network data. Monthly Notices of the Royal Astronomical Society, 508(1), 326-339.]&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/abs/2107.12335 Vida, D., Šegon, D., Gural, P. S., Brown, P. G., McIntyre, M. J., Dijkema, T. J., Pavletić, L., Kukić, P., Mazur, M.J., Eschman, P., Roggemans, P., Merlak, A., &amp;amp; Zubović, D. (2021). The Global Meteor Network–Methodology and first results. Monthly Notices of the Royal Astronomical Society, 506(4), 5046-5074.]&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/abs/2003.05458/ Moorhead, A. V., Clements, T. D., &amp;amp; Vida, D. (2020). Realistic gravitational focusing of meteoroid streams. Monthly Notices of the Royal Astronomical Society, 494(2), 2982-2994.] &lt;br /&gt;
&lt;br /&gt;
: [https://globalmeteornetwork.org/wordpress/wp-content/uploads/2018/11/Kukic-et-al-2018-Rolling-shutter.pdf  Kukić, P., Gural, P., Vida, D., Šegon, D. &amp;amp; Merlak, A. (2018) Correction for meteor centroids observed using rolling shutter cameras. WGN, Journal of the International Meteor Organization, 46:5, 154-118.]&lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/2018_WGN___RMS_sun_skirter_final.pdf  Vida, D., Mazur, M. J., Šegon, D., Kukić, P., &amp;amp; Merlak, A. (2018). Compressive strength of a skirting Daytime Arietid-first science results from low-cost Raspberry Pi-based meteor stations. WGN, Journal of the International Meteor Organization, 46, 113-118.] &lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/pdf/1911.02979.pdf Vida, D., Gural, P., Brown, P., Campbell-Brown, M., Wiegert, P. (2019) Estimating trajectories of meteors: an observational Monte Carlo approach - I. Theory. arXiv:1911.02979v4 [astro-ph.EP] 21 Apr 2020]&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/pdf/1911.11734.pdf Vida, D., Gural, P., Brown, P., Campbell-Brown, M., Wiegert, P. (2019) Estimating trajectories of meteors: an observational Monte Carlo approach - II. Results. arXiv:1911.11734v1 [astro-ph.EP] 26 Novr 2019]&lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/2018_WGN___RMS_first_results-final.pdf Vida, D., Mazur, M. J., Šegon, D., Zubović, D., Kukić, P., Parag, F., &amp;amp; Macan, A. (2018). First results of a Raspberry Pi based meteor camera system. WGN, Journal of the International Meteor Organization, 46, 71-78.] &lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/Vida_IMC2016_proceedings_final.pdf Vida, D., Zubović, D., Šegon, D., Gural, P., &amp;amp; Cupec, R. (2016). Open-source meteor detection software for low-cost single-board computers. In Proceedings of the International Meteor Conference (IMC2016), Egmond, The Netherlands (pp. 2-5).] &lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/Zubovic_IMC2015_priceedings_final.pdf Zubović, D., Vida, D., Gural, P., &amp;amp; Šegon, D. (2015). Advances in the development of a low-cost video meteor station. In Proceedings of the International Meteor Conference, Mistelbach, Austria (pp. 27-30).]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Windows_Installation&amp;diff=741</id>
		<title>Windows Installation</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Windows_Installation&amp;diff=741"/>
		<updated>2025-05-14T23:49:12Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* install MS Visual Studio Build Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Basic Instructions =&lt;br /&gt;
There are more detailed instructions, with pictures, [[Detailed_Windows_Installation|here]] but the below should work for most users. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: you will need about 2.5GB of space on your hard disk for the support tools. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Install Required Tools ==&lt;br /&gt;
=== install MS Visual Studio Build Tools ===&lt;br /&gt;
(updated May 2025)&lt;br /&gt;
&lt;br /&gt;
* Download Visual Studio 2022 Community Edition.&lt;br /&gt;
https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019. (this now takes you to the Visual Studio 2022 installation page)&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Free Download&amp;quot; button to install Community edition. This will download and run the installer.&lt;br /&gt;
* In the left panel, select Desktop Development with C++. &lt;br /&gt;
* &#039;&#039;Note that you do not need python development&#039;&#039;. &lt;br /&gt;
* On the right panel ensure the latest versions of MSVC v143 - VS 2022 C++ x64/x86 build tools and Windows 10 or Windows 11 SDK are selected (depending on your operating system). These should be selected automatically. You can also select CLI Tools if you want. &lt;br /&gt;
&lt;br /&gt;
* Click install.  Its a &#039;&#039;&#039;10.5GB&#039;&#039;&#039; package so it&#039;ll take a while.&lt;br /&gt;
&lt;br /&gt;
=== Install Anaconda for Windows ===&lt;br /&gt;
* Download Anaconda from here https://www.anaconda.com/products/individual&lt;br /&gt;
* Run the installer. &lt;br /&gt;
* Unless you intend to use Anaconda for other python development, you can select the default options at every stage. &lt;br /&gt;
* Its a 500MB download and installation may take 20-30 minutes. &lt;br /&gt;
&lt;br /&gt;
=== Install Git for Windows ===&lt;br /&gt;
* Download Git from here https://git-scm.com/download/win&lt;br /&gt;
* Again, select the default options unless you have some specific requirement.&lt;br /&gt;
&lt;br /&gt;
== Download RMS and Set it Up ==&lt;br /&gt;
=== Clone the RMS code to your PC ===&lt;br /&gt;
* From the Start Menu, open an Anaconda Powershell prompt and change directory to the place you want to keep the code.&lt;br /&gt;
* Run this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; git clone https://github.com/CroatianMeteorNetwork/RMS.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
*This will create a new folder &amp;quot;RMS&amp;quot; containing the code.&lt;br /&gt;
&lt;br /&gt;
=== Create an Anaconda virtual environment ===&lt;br /&gt;
* Still in the anaconda powershell window, type the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create -n RMS python=3.8&amp;lt;/pre&amp;gt;&lt;br /&gt;
* This will create a python virtual environment named &amp;quot;RMS&amp;quot; containing python 3.8&lt;br /&gt;
&lt;br /&gt;
=== Install the required Python packages === &lt;br /&gt;
* Still in the anaconda powershell window type the following to activate the virtual environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;conda activate RMS&amp;lt;/pre&amp;gt;&lt;br /&gt;
* the prompt should change to &amp;quot;(RMS) c:\source\&amp;quot; or something similar&lt;br /&gt;
* change directory into the RMS folder.&lt;br /&gt;
* Now install the required Python modules by running these commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd RMS&lt;br /&gt;
conda install -c conda-forge PyGObject&lt;br /&gt;
pip install -r requirements.txt&lt;br /&gt;
pip install PyQt5&lt;br /&gt;
pip install opencv_python&lt;br /&gt;
pip install rawpy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test RMS worked ==&lt;br /&gt;
* To test that RMS worked, type the following in the same Window:&lt;br /&gt;
&amp;lt;pre&amp;gt; python -m Utils.SkyFit2 &amp;lt;/pre&amp;gt;&lt;br /&gt;
* The first time you run RMS it will compile various code modules, but at the end of the process you should see this message:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: SkyFit2.py [-h] [-c CONFIG_PATH] [-r] [-t TIME] [-f FPS]&lt;br /&gt;
                  [-g CAMERA_GAMMA] [-p GEO_POINTS_PATH]&lt;br /&gt;
                  INPUT_PATH&lt;br /&gt;
SkyFit2.py: error: the following arguments are required: INPUT_PATH &amp;lt;/pre&amp;gt;&lt;br /&gt;
* This indicates that RMS is installed properly. &lt;br /&gt;
&lt;br /&gt;
== Setting RMS up for your Cameras ==&lt;br /&gt;
RMS reads its settings from a hidden file &#039;&#039;&#039;.config&#039;&#039;&#039; which is in the folder /home/pi/source/RMS on each Pi, and is also copied to the ArchivedFiles/ folder containing the night&#039;s data. You can copy this file to the RMS folder on your PC if you want. &lt;br /&gt;
&lt;br /&gt;
== Update Regularly!!! == &lt;br /&gt;
The RMS code is FREQUENTLY updated and so its important that you update it too. On the Pi, this is automatic but on your PC you need  to do it yourself.&lt;br /&gt;
&lt;br /&gt;
To update the code, open an Anaconda Powershell window, activate the RMS environment and then type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git stash&lt;br /&gt;
git pull&lt;br /&gt;
git stash apply&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will &#039;stash&#039; your local changes such as the config file, pull the latest code, and then reapply your local changes.&lt;br /&gt;
&lt;br /&gt;
== Thats It ==&lt;br /&gt;
That&#039;s it! Any time you want to run RMS you just&lt;br /&gt;
* open an Anaconda Powershell prompt&lt;br /&gt;
* change directory to the RMS folder&lt;br /&gt;
* activate the virtual environment&lt;br /&gt;
&amp;lt;pre&amp;gt; conda activate RMS&amp;lt;/pre&amp;gt;&lt;br /&gt;
* and then run the module you want to use.&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Windows_Installation&amp;diff=740</id>
		<title>Windows Installation</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Windows_Installation&amp;diff=740"/>
		<updated>2025-05-14T23:47:35Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* install MS Visual Studio Build Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Basic Instructions =&lt;br /&gt;
There are more detailed instructions, with pictures, [[Detailed_Windows_Installation|here]] but the below should work for most users. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: you will need about 2.5GB of space on your hard disk for the support tools. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Install Required Tools ==&lt;br /&gt;
=== install MS Visual Studio Build Tools ===&lt;br /&gt;
(updated Nov 2021)&lt;br /&gt;
&lt;br /&gt;
* Download Visual Studio 2022 Community Edition.&lt;br /&gt;
https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019. (this now takes you to the Visual Studio 2022 installation page)&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Free Download&amp;quot; button to install Community edition. This will download and run the installer.&lt;br /&gt;
* In the left panel, select Desktop Development with C++. &lt;br /&gt;
* &#039;&#039;Note that you do not need python development&#039;&#039;. &lt;br /&gt;
* On the right panel ensure the latest versions of MSVC v143 - VS 2022 C++ x64/x86 build tools and Windows 10 or Windows 11 SDK are selected (depending on your operating system). These should be selected automatically. You can also select CLI Tools if you want. &lt;br /&gt;
&lt;br /&gt;
* Click install.  Its a &#039;&#039;&#039;10.5GB&#039;&#039;&#039; package so it&#039;ll take a while.&lt;br /&gt;
&lt;br /&gt;
=== Install Anaconda for Windows ===&lt;br /&gt;
* Download Anaconda from here https://www.anaconda.com/products/individual&lt;br /&gt;
* Run the installer. &lt;br /&gt;
* Unless you intend to use Anaconda for other python development, you can select the default options at every stage. &lt;br /&gt;
* Its a 500MB download and installation may take 20-30 minutes. &lt;br /&gt;
&lt;br /&gt;
=== Install Git for Windows ===&lt;br /&gt;
* Download Git from here https://git-scm.com/download/win&lt;br /&gt;
* Again, select the default options unless you have some specific requirement.&lt;br /&gt;
&lt;br /&gt;
== Download RMS and Set it Up ==&lt;br /&gt;
=== Clone the RMS code to your PC ===&lt;br /&gt;
* From the Start Menu, open an Anaconda Powershell prompt and change directory to the place you want to keep the code.&lt;br /&gt;
* Run this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; git clone https://github.com/CroatianMeteorNetwork/RMS.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
*This will create a new folder &amp;quot;RMS&amp;quot; containing the code.&lt;br /&gt;
&lt;br /&gt;
=== Create an Anaconda virtual environment ===&lt;br /&gt;
* Still in the anaconda powershell window, type the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;conda create -n RMS python=3.8&amp;lt;/pre&amp;gt;&lt;br /&gt;
* This will create a python virtual environment named &amp;quot;RMS&amp;quot; containing python 3.8&lt;br /&gt;
&lt;br /&gt;
=== Install the required Python packages === &lt;br /&gt;
* Still in the anaconda powershell window type the following to activate the virtual environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;conda activate RMS&amp;lt;/pre&amp;gt;&lt;br /&gt;
* the prompt should change to &amp;quot;(RMS) c:\source\&amp;quot; or something similar&lt;br /&gt;
* change directory into the RMS folder.&lt;br /&gt;
* Now install the required Python modules by running these commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd RMS&lt;br /&gt;
conda install -c conda-forge PyGObject&lt;br /&gt;
pip install -r requirements.txt&lt;br /&gt;
pip install PyQt5&lt;br /&gt;
pip install opencv_python&lt;br /&gt;
pip install rawpy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test RMS worked ==&lt;br /&gt;
* To test that RMS worked, type the following in the same Window:&lt;br /&gt;
&amp;lt;pre&amp;gt; python -m Utils.SkyFit2 &amp;lt;/pre&amp;gt;&lt;br /&gt;
* The first time you run RMS it will compile various code modules, but at the end of the process you should see this message:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: SkyFit2.py [-h] [-c CONFIG_PATH] [-r] [-t TIME] [-f FPS]&lt;br /&gt;
                  [-g CAMERA_GAMMA] [-p GEO_POINTS_PATH]&lt;br /&gt;
                  INPUT_PATH&lt;br /&gt;
SkyFit2.py: error: the following arguments are required: INPUT_PATH &amp;lt;/pre&amp;gt;&lt;br /&gt;
* This indicates that RMS is installed properly. &lt;br /&gt;
&lt;br /&gt;
== Setting RMS up for your Cameras ==&lt;br /&gt;
RMS reads its settings from a hidden file &#039;&#039;&#039;.config&#039;&#039;&#039; which is in the folder /home/pi/source/RMS on each Pi, and is also copied to the ArchivedFiles/ folder containing the night&#039;s data. You can copy this file to the RMS folder on your PC if you want. &lt;br /&gt;
&lt;br /&gt;
== Update Regularly!!! == &lt;br /&gt;
The RMS code is FREQUENTLY updated and so its important that you update it too. On the Pi, this is automatic but on your PC you need  to do it yourself.&lt;br /&gt;
&lt;br /&gt;
To update the code, open an Anaconda Powershell window, activate the RMS environment and then type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git stash&lt;br /&gt;
git pull&lt;br /&gt;
git stash apply&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will &#039;stash&#039; your local changes such as the config file, pull the latest code, and then reapply your local changes.&lt;br /&gt;
&lt;br /&gt;
== Thats It ==&lt;br /&gt;
That&#039;s it! Any time you want to run RMS you just&lt;br /&gt;
* open an Anaconda Powershell prompt&lt;br /&gt;
* change directory to the RMS folder&lt;br /&gt;
* activate the virtual environment&lt;br /&gt;
&amp;lt;pre&amp;gt; conda activate RMS&amp;lt;/pre&amp;gt;&lt;br /&gt;
* and then run the module you want to use.&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=737</id>
		<title>Installing OS onto a Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=737"/>
		<updated>2025-02-20T13:27:57Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Flash image onto a microSD card/USB flash disk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, you will flash (or install if you wish) an OS Linux onto your SD card or USB flash key and boot your Raspberry Pi for the first time.&lt;br /&gt;
&lt;br /&gt;
= Install OS by flashing the image =&lt;br /&gt;
== Flash image onto a microSD card/USB flash disk ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; The process is the same for an microSD card or a USB flash key, just the target will differ. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Download the image for your Raspberry Pi model from the list below and save it on the PC somewhere.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 4B&#039;&#039;&#039; we recommend you will download and use [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4Bullseye_image_20231213.img.xz this image]. It is based on Bullseye 64-bit.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 5&#039;&#039;&#039; download [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi5Bookworm_image_20240910.img.xz this image]. It is based on Bookworm 64-bit and this is the only image working with Raspberry Pi 5. &#039;&#039;&#039;Please note&#039;&#039;&#039; that it can be used for Raspberry Pi 4B, but there are some things not working there (RTC module) and you&#039;ll need to install AnyDesk yourself, so we see no advantage in running this image on Raspberry Pi 4B at the moment.&lt;br /&gt;
#:* &#039;&#039;&#039;For archive purposes&#039;&#039;&#039;, you can download the previous 32-bit image for Raspberry Pi 4B based on Buster 32-bit [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4_image_20230804.img.xz here]. This image is not maintained and you should use it only if you really need it and know what you are doing.&lt;br /&gt;
#:* In case of trouble with the images please contact the technical support group https://globalmeteornetwork.groups.io/g/techsupport. [https://globalmeteornetwork.org/wiki/index.php?title=Images_checksums Here] you can find a list of checksums and sizes of images.&lt;br /&gt;
# Download [https://www.balena.io/etcher/ BalenaEtcher], if you haven’t done it yet. The process shown below uses BalenaEtcher as it is the simplest tool for beginners, but if you are familiar with another USB flashing utility (e.g. Rufus or Raspberry Pi Imager) feel free to use these. But if they don’t work for you, please fall back to BalenaEtcher and the process documented below.&lt;br /&gt;
# Note;if you&#039;re using RPi imager, select &amp;quot;Custom&amp;quot; for the OS then select the image you downloaded. You can also configure the hostname, wifi details and ssh key details via Custom Settings. Howver DO NOT change the username and password as those are baked into the image. &lt;br /&gt;
# Insert a microSD card or a USB flash disk into your PC, and note the letter it was assigned.&lt;br /&gt;
# Run BalenaEtcher, and flash the image file onto your microSD card/USB flash disk: Select Flash from file, find the image file and select it. As Target select your USB flash disk. Normally the system disks are hidden but verify the name, letter and size of your USB flash disk to be sure you have the correct target. Click Flash, once again verify the target and confirm it. Wait for the process to finish. (In case you will receive an error you may need to run BalenaEtcher as administrator)&lt;br /&gt;
# Eject the USB flash disk in Windows if necessary and then remove your microSD card/USB flash disk from your PC and insert it into your Raspberry Pi, which should be connected to a TV or Monitor, and have a keyboard and mouse connected. If you don&#039;t have a TV or monitor you can connect then see [[#Booting without a TV/Monitor|these instructions]].&lt;br /&gt;
# Wait for the boot. If the boot takes too long to occur, please have a look at the next section. If it booted successfully, follow the on-screen instructions. &lt;br /&gt;
&lt;br /&gt;
This is what the selection should look like:&lt;br /&gt;
[[File:BalenaEtcher_selection.png|center]]&lt;br /&gt;
&lt;br /&gt;
This is what the process should look like:&lt;br /&gt;
[[File:BalenaEtcher_process.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Pre-2021 Raspberry Pi 4 Bootloader update - an USB flash disk ONLY ==&lt;br /&gt;
&lt;br /&gt;
If you encountered a problem booting Raspberry Pi 4 from a USB device (common for all USB devices, not only flash disks), the most probable reason is that your Raspberry Pi 4 is from an older batch and its bootloader has to be updated. The procedure is simple and you will need a blank small MicroSD card to continue, the data are around 1MB in size, so any small microSD card will do the job. The process is nicely described in [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader the raspberry pi official documentation].&lt;br /&gt;
&lt;br /&gt;
* In case you are looking for more extensive USB booting guide click [https://globalmeteornetwork.org/wiki/index.php?title=Booting_from_a_USB_device here]&lt;br /&gt;
&lt;br /&gt;
* the pre-installed RMS software images incorporate an auto-updating feature, so that the RMS software is updated to the current release whenever your Raspberry Pi RMS is booted. This way, your station is always running the most recent set of updates. &lt;br /&gt;
&lt;br /&gt;
== The first boot ==&lt;br /&gt;
&lt;br /&gt;
This is how the first boot of RMS linux looks like:&lt;br /&gt;
[[File:The_first_boot_raspi.png|1500px|center]]&lt;br /&gt;
&lt;br /&gt;
Now it is good time to send an email to denis.vida@gmail.com with short introduction, stating that you are building the camera, stating from which country you are and asking for the station code. You will need it later when setting up the RMS software once your camera is fully installed and positioned.&lt;br /&gt;
&lt;br /&gt;
= [OPTIONAL] Install the software from scratch  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions on [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page].&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to focus your camera and put all bits and pieces together for the first test. Exciting, isn&#039;t it? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;br /&gt;
&lt;br /&gt;
= Booting without a TV/Monitor =&lt;br /&gt;
If you don&#039;t have a TV or monitor that you can connect to the Pi while setting it up, you can still proceed but you will need to use VNC, a remote-access tool. &lt;br /&gt;
&lt;br /&gt;
After burning the SD card, insert it into the Pi and switch the power on. You should see the lights on the pi flicker for a minute or two - if not, then its possible the SD card image didn&#039;t burn properly. &lt;br /&gt;
&lt;br /&gt;
Wait at least two or three minutes after the lights stop flickering. There are several stages to the initial boot so don&#039;t rush things.&lt;br /&gt;
&lt;br /&gt;
While you&#039;re waiting, download &#039;&#039;&#039;[https://www.realvnc.com/en/connect/download/viewer/ VNC Viewer]&#039;&#039;&#039;. You do not need to create an account or subscribe so ignore the various buttons and links. After a few seconds the download will start and then you can install the software. &lt;br /&gt;
&lt;br /&gt;
To connect to the Pi using VNC you will need to know either its name or its IP address. If you didn&#039;t set the hostname while burning the SD card (this is an option available in Raspberry Pi Imager), then its name will probably be &#039;raspberrypi&#039;. Otherwise you can run a tool called &#039;&#039;&#039;[https://www.advanced-ip-scanner.com/ Advanced IP Scanner]&#039;&#039;&#039; to find its IP address using the manufacturer name which will start with Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
Open VNC Viewer and type the name or IP address into the box at the top. After a few seconds you should get a login dialog. The username is &amp;quot;rms&amp;quot; and the initial password is &amp;quot;rmsraspberry&amp;quot;. Make sure you change this as soon as you have logged in. &lt;br /&gt;
&lt;br /&gt;
You should now see the Pi&#039;s desktop and RMS_FirstBoot window.&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=736</id>
		<title>Installing OS onto a Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=736"/>
		<updated>2025-02-18T13:56:11Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, you will flash (or install if you wish) an OS Linux onto your SD card or USB flash key and boot your Raspberry Pi for the first time.&lt;br /&gt;
&lt;br /&gt;
= Install OS by flashing the image =&lt;br /&gt;
== Flash image onto a microSD card/USB flash disk ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; The process is the same for an microSD card or a USB flash key, just the target will differ. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Download the image for your Raspberry Pi model from the list below and save it on the PC somewhere.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 4B&#039;&#039;&#039; we recommend you will download and use [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4Bullseye_image_20231213.img.xz this image]. It is based on Bullseye 64-bit.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 5&#039;&#039;&#039; download [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi5Bookworm_image_20240910.img.xz this image]. It is based on Bookworm 64-bit and this is the only image working with Raspberry Pi 5. &#039;&#039;&#039;Please note&#039;&#039;&#039; that it can be used for Raspberry Pi 4B, but there are some things not working there (Anydesk, RTC module) and we see no advantage in running this image on Raspberry Pi 4B at the moment.&lt;br /&gt;
#:* &#039;&#039;&#039;For archive purposes&#039;&#039;&#039;, you can download the previous 32-bit image for Raspberry Pi 4B based on Buster 32-bit [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4_image_20230804.img.xz here]. This image is not maintained and you should use it only if you really need it and know what you are doing.&lt;br /&gt;
#:* In case of trouble with the images please contact the technical support group https://globalmeteornetwork.groups.io/g/techsupport. [https://globalmeteornetwork.org/wiki/index.php?title=Images_checksums Here] you can find a list of checksums and sizes of images.&lt;br /&gt;
# Download [https://www.balena.io/etcher/ BalenaEtcher], if you haven’t done it yet. The process shown below uses BalenaEtcher as it is the simplest tool for beginners, but if you are familiar with another USB flashing utility (e.g. Rufus or Raspberry Pi Imager) feel free to use these. But if they don’t work for you, please fall back to BalenaEtcher and the process documented below.&lt;br /&gt;
# Note;if you&#039;re using RPi imager, select &amp;quot;Custom&amp;quot; for the OS then select the image you downloaded. You can also configure the hostname, wifi details and ssh key details via Custom Settings. Howver DO NOT change the username and password as those are baked into the image. &lt;br /&gt;
# Insert a microSD card or a USB flash disk into your PC, and note the letter it was assigned.&lt;br /&gt;
# Run BalenaEtcher, and flash the image file onto your microSD card/USB flash disk: Select Flash from file, find the image file and select it. As Target select your USB flash disk. Normally the system disks are hidden but verify the name, letter and size of your USB flash disk to be sure you have the correct target. Click Flash, once again verify the target and confirm it. Wait for the process to finish. (In case you will receive an error you may need to run BalenaEtcher as administrator)&lt;br /&gt;
# Eject the USB flash disk in Windows if necessary and then remove your microSD card/USB flash disk from your PC and insert it into your Raspberry Pi, which should be connected to a TV or Monitor, and have a keyboard and mouse connected. If you don&#039;t have a TV or monitor you can connect then see [[#Booting without a TV/Monitor|these instructions]].&lt;br /&gt;
# Wait for the boot. If the boot takes too long to occur, please have a look at the next section. If it booted successfully, follow the on-screen instructions. &lt;br /&gt;
&lt;br /&gt;
This is what the selection should look like:&lt;br /&gt;
[[File:BalenaEtcher_selection.png|center]]&lt;br /&gt;
&lt;br /&gt;
This is what the process should look like:&lt;br /&gt;
[[File:BalenaEtcher_process.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Pre-2021 Raspberry Pi 4 Bootloader update - an USB flash disk ONLY ==&lt;br /&gt;
&lt;br /&gt;
If you encountered a problem booting Raspberry Pi 4 from a USB device (common for all USB devices, not only flash disks), the most probable reason is that your Raspberry Pi 4 is from an older batch and its bootloader has to be updated. The procedure is simple and you will need a blank small MicroSD card to continue, the data are around 1MB in size, so any small microSD card will do the job. The process is nicely described in [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader the raspberry pi official documentation].&lt;br /&gt;
&lt;br /&gt;
* In case you are looking for more extensive USB booting guide click [https://globalmeteornetwork.org/wiki/index.php?title=Booting_from_a_USB_device here]&lt;br /&gt;
&lt;br /&gt;
* the pre-installed RMS software images incorporate an auto-updating feature, so that the RMS software is updated to the current release whenever your Raspberry Pi RMS is booted. This way, your station is always running the most recent set of updates. &lt;br /&gt;
&lt;br /&gt;
== The first boot ==&lt;br /&gt;
&lt;br /&gt;
This is how the first boot of RMS linux looks like:&lt;br /&gt;
[[File:The_first_boot_raspi.png|1500px|center]]&lt;br /&gt;
&lt;br /&gt;
Now it is good time to send an email to denis.vida@gmail.com with short introduction, stating that you are building the camera, stating from which country you are and asking for the station code. You will need it later when setting up the RMS software once your camera is fully installed and positioned.&lt;br /&gt;
&lt;br /&gt;
= [OPTIONAL] Install the software from scratch  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions on [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page].&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to focus your camera and put all bits and pieces together for the first test. Exciting, isn&#039;t it? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;br /&gt;
&lt;br /&gt;
= Booting without a TV/Monitor =&lt;br /&gt;
If you don&#039;t have a TV or monitor that you can connect to the Pi while setting it up, you can still proceed but you will need to use VNC, a remote-access tool. &lt;br /&gt;
&lt;br /&gt;
After burning the SD card, insert it into the Pi and switch the power on. You should see the lights on the pi flicker for a minute or two - if not, then its possible the SD card image didn&#039;t burn properly. &lt;br /&gt;
&lt;br /&gt;
Wait at least two or three minutes after the lights stop flickering. There are several stages to the initial boot so don&#039;t rush things.&lt;br /&gt;
&lt;br /&gt;
While you&#039;re waiting, download &#039;&#039;&#039;[https://www.realvnc.com/en/connect/download/viewer/ VNC Viewer]&#039;&#039;&#039;. You do not need to create an account or subscribe so ignore the various buttons and links. After a few seconds the download will start and then you can install the software. &lt;br /&gt;
&lt;br /&gt;
To connect to the Pi using VNC you will need to know either its name or its IP address. If you didn&#039;t set the hostname while burning the SD card (this is an option available in Raspberry Pi Imager), then its name will probably be &#039;raspberrypi&#039;. Otherwise you can run a tool called &#039;&#039;&#039;[https://www.advanced-ip-scanner.com/ Advanced IP Scanner]&#039;&#039;&#039; to find its IP address using the manufacturer name which will start with Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
Open VNC Viewer and type the name or IP address into the box at the top. After a few seconds you should get a login dialog. The username is &amp;quot;rms&amp;quot; and the initial password is &amp;quot;rmsraspberry&amp;quot;. Make sure you change this as soon as you have logged in. &lt;br /&gt;
&lt;br /&gt;
You should now see the Pi&#039;s desktop and RMS_FirstBoot window.&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=735</id>
		<title>Installing OS onto a Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=735"/>
		<updated>2025-02-18T13:30:52Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Flash image onto a microSD card/USB flash disk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, you will flash (or install if you wish) an OS Linux onto your SD card or USB flash key and boot your Raspberry Pi for the first time.&lt;br /&gt;
&lt;br /&gt;
= Install OS by flashing the image =&lt;br /&gt;
== Flash image onto a microSD card/USB flash disk ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; The process is the same for an microSD card or a USB flash key, just the target will differ. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Download the image for your Raspberry Pi model from the list below and save it on the PC somewhere.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 4B&#039;&#039;&#039; we recommend you will download and use [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4Bullseye_image_20231213.img.xz this image]. It is based on Bullseye 64-bit.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 5&#039;&#039;&#039; download [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi5Bookworm_image_20240910.img.xz this image]. It is based on Bookworm 64-bit and this is the only image working with Raspberry Pi 5. &#039;&#039;&#039;Please note&#039;&#039;&#039; that it can be used for Raspberry Pi 4B, but there are some things not working there (Anydesk, RTC module) and we see no advantage in running this image on Raspberry Pi 4B at the moment.&lt;br /&gt;
#:* &#039;&#039;&#039;For archive purposes&#039;&#039;&#039;, you can download the previous 32-bit image for Raspberry Pi 4B based on Buster 32-bit [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4_image_20230804.img.xz here]. This image is not maintained and you should use it only if you really need it and know what you are doing.&lt;br /&gt;
#:* In case of trouble with the images please contact the technical support group https://globalmeteornetwork.groups.io/g/techsupport. [https://globalmeteornetwork.org/wiki/index.php?title=Images_checksums Here] you can find a list of checksums and sizes of images.&lt;br /&gt;
# Download [https://www.balena.io/etcher/ BalenaEtcher], if you haven’t done it yet. The process shown below uses BalenaEtcher as it is the simplest tool for beginners, but if you are familiar with another USB flashing utility (e.g. Rufus or Raspberry Pi Imager) feel free to use these. But if they don’t work for you, please fall back to BalenaEtcher and the process documented below.&lt;br /&gt;
# Note;if you&#039;re using RPi imager, select &amp;quot;Custom&amp;quot; for the OS then select the image you downloaded. You can also configure the hostname, wifi details and ssh key details via Custom Settings. Howver DO NOT change the username and password as those are baked into the image. &lt;br /&gt;
# Insert a microSD card or a USB flash disk into your PC, and note the letter it was assigned.&lt;br /&gt;
# Run BalenaEtcher, and flash the image file onto your microSD card/USB flash disk: Select Flash from file, find the image file and select it. As Target select your USB flash disk. Normally the system disks are hidden but verify the name, letter and size of your USB flash disk to be sure you have the correct target. Click Flash, once again verify the target and confirm it. Wait for the process to finish. (In case you will receive an error you may need to run BalenaEtcher as administrator)&lt;br /&gt;
# Eject the USB flash disk in Windows if necessary and then remove your microSD card/USB flash disk from your PC and insert it into your Raspberry Pi, which should be connected to a TV or Monitor, and have a keyboard and mouse connected. Power on a Raspberry Pi. Make sure that a microSD card is not inserted.&lt;br /&gt;
# Wait for the boot. If the boot takes too long to occur, please have a look at the next section. If it booted successfully, follow the on-screen instructions. &lt;br /&gt;
&lt;br /&gt;
This is what the selection should look like:&lt;br /&gt;
[[File:BalenaEtcher_selection.png|center]]&lt;br /&gt;
&lt;br /&gt;
This is what the process should look like:&lt;br /&gt;
[[File:BalenaEtcher_process.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Pre-2021 Raspberry Pi 4 Bootloader update - an USB flash disk ONLY ==&lt;br /&gt;
&lt;br /&gt;
If you encountered a problem booting Raspberry Pi 4 from a USB device (common for all USB devices, not only flash disks), the most probable reason is that your Raspberry Pi 4 is from an older batch and its bootloader has to be updated. The procedure is simple and you will need a blank small MicroSD card to continue, the data are around 1MB in size, so any small microSD card will do the job. The process is nicely described in [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader the raspberry pi official documentation].&lt;br /&gt;
&lt;br /&gt;
* In case you are looking for more extensive USB booting guide click [https://globalmeteornetwork.org/wiki/index.php?title=Booting_from_a_USB_device here]&lt;br /&gt;
&lt;br /&gt;
* the pre-installed RMS software images incorporate an auto-updating feature, so that the RMS software is updated to the current release whenever your Raspberry Pi RMS is booted. This way, your station is always running the most recent set of updates. &lt;br /&gt;
&lt;br /&gt;
== The first boot ==&lt;br /&gt;
&lt;br /&gt;
This is how the first boot of RMS linux looks like:&lt;br /&gt;
[[File:The_first_boot_raspi.png|1500px|center]]&lt;br /&gt;
&lt;br /&gt;
Now it is good time to send an email to denis.vida@gmail.com with short introduction, stating that you are building the camera, stating from which country you are and asking for the station code. You will need it later when setting up the RMS software once your camera is fully installed and positioned.&lt;br /&gt;
&lt;br /&gt;
= [OPTIONAL] Install the software from scratch  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions on [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page].&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to focus your camera and put all bits and pieces together for the first test. Exciting, isn&#039;t it? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=734</id>
		<title>Installing OS onto a Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=734"/>
		<updated>2025-02-18T11:26:11Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Flash image onto a microSD card/USB flash disk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, you will flash (or install if you wish) an OS Linux onto your SD card or USB flash key and boot your Raspberry Pi for the first time.&lt;br /&gt;
&lt;br /&gt;
= Install OS by flashing the image =&lt;br /&gt;
== Flash image onto a microSD card/USB flash disk ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; The process is the same for an microSD card or a USB flash key, just the target will differ. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Download the image for your Raspberry Pi model from the list below and save it on the PC somewhere.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 4B&#039;&#039;&#039; we recommend you will download and use [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4Bullseye_image_20231213.img.xz this image]. It is based on Bullseye 64-bit.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 5&#039;&#039;&#039; download [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi5Bookworm_image_20240910.img.xz this image]. It is based on Bookworm 64-bit and this is the only image working with Raspberry Pi 5. &#039;&#039;&#039;Please note&#039;&#039;&#039; that it can be used for Raspberry Pi 4B, but there are some things not working there (Anydesk, RTC module) and we see no advantage in running this image on Raspberry Pi 4B at the moment.&lt;br /&gt;
#:* &#039;&#039;&#039;For archive purposes&#039;&#039;&#039;, you can download the previous 32-bit image for Raspberry Pi 4B based on Buster 32-bit [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4_image_20230804.img.xz here]. This image is not maintained and you should use it only if you really need it and know what you are doing.&lt;br /&gt;
#:* In case of trouble with the images please contact the technical support group https://globalmeteornetwork.groups.io/g/techsupport. [https://globalmeteornetwork.org/wiki/index.php?title=Images_checksums Here] you can find a list of checksums and sizes of images.&lt;br /&gt;
# Download the [https://www.balena.io/etcher/ BalenaEtcher], if you haven’t done it yet. The process shown below uses BalenaEtcher as it is the simplest tool for beginners, but if you are familiar with another USB flashing utility (e.g. Rufus or Raspberry Pi Imager) feel free to use these. But if they don’t work for you, please fall back to BalenaEtcher and the process documented below.&lt;br /&gt;
# Note;if you&#039;re using RPi imager, select &amp;quot;Custom&amp;quot; for the OS then select the image you downloaded. You can also configure the hostname, wifi details and ssh key details via Custom Settings. Howver DO NOT change the username and password as those are baked into the image. &lt;br /&gt;
# Insert a microSD card or a USB flash disk into your PC, and note the letter it was assigned.&lt;br /&gt;
# Run BalenaEtcher, and flash the image file onto your microSD card/USB flash disk: Select Flash from file, find the image file and select it. As Target select your USB flash disk. Normally the system disks are hidden but verify the name, letter and size of your USB flash disk to be sure you have the correct target. Click Flash, once again verify the target and confirm it. Wait for the process to finish. (In case you will receive an error you may need to run BalenaEtcher as administrator)&lt;br /&gt;
# Eject the USB flash disk in Windows if necessary and then remove your microSD card/USB flash disk from your PC and insert it into your Raspberry Pi, which should be connected to a TV or Monitor, and have a keyboard and mouse connected. Power on a Raspberry Pi. Make sure that a microSD card is not inserted.&lt;br /&gt;
# Wait for the boot. If the boot takes too long to occur, please have a look at the next section. If it booted successfully, follow the on-screen instructions. &lt;br /&gt;
&lt;br /&gt;
This is what the selection should look like:&lt;br /&gt;
[[File:BalenaEtcher_selection.png|center]]&lt;br /&gt;
&lt;br /&gt;
This is what the process should look like:&lt;br /&gt;
[[File:BalenaEtcher_process.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Pre-2021 Raspberry Pi 4 Bootloader update - an USB flash disk ONLY ==&lt;br /&gt;
&lt;br /&gt;
If you encountered a problem booting Raspberry Pi 4 from a USB device (common for all USB devices, not only flash disks), the most probable reason is that your Raspberry Pi 4 is from an older batch and its bootloader has to be updated. The procedure is simple and you will need a blank small MicroSD card to continue, the data are around 1MB in size, so any small microSD card will do the job. The process is nicely described in [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader the raspberry pi official documentation].&lt;br /&gt;
&lt;br /&gt;
* In case you are looking for more extensive USB booting guide click [https://globalmeteornetwork.org/wiki/index.php?title=Booting_from_a_USB_device here]&lt;br /&gt;
&lt;br /&gt;
* the pre-installed RMS software images incorporate an auto-updating feature, so that the RMS software is updated to the current release whenever your Raspberry Pi RMS is booted. This way, your station is always running the most recent set of updates. &lt;br /&gt;
&lt;br /&gt;
== The first boot ==&lt;br /&gt;
&lt;br /&gt;
This is how the first boot of RMS linux looks like:&lt;br /&gt;
[[File:The_first_boot_raspi.png|1500px|center]]&lt;br /&gt;
&lt;br /&gt;
Now it is good time to send an email to denis.vida@gmail.com with short introduction, stating that you are building the camera, stating from which country you are and asking for the station code. You will need it later when setting up the RMS software once your camera is fully installed and positioned.&lt;br /&gt;
&lt;br /&gt;
= [OPTIONAL] Install the software from scratch  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions on [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page].&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to focus your camera and put all bits and pieces together for the first test. Exciting, isn&#039;t it? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=733</id>
		<title>Installing OS onto a Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=733"/>
		<updated>2025-02-17T20:30:15Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Flash image onto a microSD card/USB flash disk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, you will flash (or install if you wish) an OS Linux onto your SD card or USB flash key and boot your Raspberry Pi for the first time.&lt;br /&gt;
&lt;br /&gt;
= Install OS by flashing the image =&lt;br /&gt;
== Flash image onto a microSD card/USB flash disk ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; The process is the same for an microSD card or a USB flash key, just the target will differ. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Download the image for your Raspberry Pi model from the list below and save it on the PC somewhere.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 4B&#039;&#039;&#039; we recommend you will download and use [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4Bullseye_image_20231213.img.xz this image]. It is based on Bullseye 64-bit.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 5&#039;&#039;&#039; download [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi5Bookworm_image_20240910.img.xz this image]. It is based on Bookworm 64-bit and this is the only image working with Raspberry Pi 5. &#039;&#039;&#039;Please note&#039;&#039;&#039; that it can be used for Raspberry Pi 4B, but there are some things not working there (Anydesk, RTC module) and we see no advantage in running this image on Raspberry Pi 4B at the moment.&lt;br /&gt;
#:* &#039;&#039;&#039;For archive purposes&#039;&#039;&#039;, you can download the previous 32-bit image for Raspberry Pi 4B based on Buster 32-bit [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4_image_20230804.img.xz here]. This image is not maintained and you should use it only if you really need it and know what you are doing.&lt;br /&gt;
#:* In case of trouble with the images please contact the technical support group https://globalmeteornetwork.groups.io/g/techsupport. [https://globalmeteornetwork.org/wiki/index.php?title=Images_checksums Here] you can find a list of checksums and sizes of images.&lt;br /&gt;
# Download the [https://www.balena.io/etcher/ BalenaEtcher], if you haven’t done it yet. The process shown below uses BalenaEtcher as it is the simplest tool for beginners, but if you are familiar with another USB flashing utility (e.g. Rufus or Raspberry Pi Imager) feel free to use these. But if they don’t work for you, please fall back to BalenaEtcher and the process documented below.&lt;br /&gt;
# Note;if you&#039;re using RPi imager, select &amp;quot;Other&amp;quot; for the OS then select the image you downloaded. You can also configure the hostname, wifi details and ssh key details via Custom Settings. Howver DO NOT change the username and password as those are baked into the image. &lt;br /&gt;
# Insert a microSD card or a USB flash disk into your PC, and note the letter it was assigned.&lt;br /&gt;
# Run BalenaEtcher, and flash the image file onto your microSD card/USB flash disk: Select Flash from file, find the image file and select it. As Target select your USB flash disk. Normally the system disks are hidden but verify the name, letter and size of your USB flash disk to be sure you have the correct target. Click Flash, once again verify the target and confirm it. Wait for the process to finish. (In case you will receive an error you may need to run BalenaEtcher as administrator)&lt;br /&gt;
# Eject the USB flash disk in Windows if necessary and then remove your microSD card/USB flash disk from your PC and insert it into your Raspberry Pi, which should be connected to a TV or Monitor, and have a keyboard and mouse connected. Power on a Raspberry Pi. Make sure that a microSD card is not inserted.&lt;br /&gt;
# Wait for the boot. If the boot takes too long to occur, please have a look at the next section. If it booted successfully, follow the on-screen instructions. &lt;br /&gt;
&lt;br /&gt;
This is what the selection should look like:&lt;br /&gt;
[[File:BalenaEtcher_selection.png|center]]&lt;br /&gt;
&lt;br /&gt;
This is what the process should look like:&lt;br /&gt;
[[File:BalenaEtcher_process.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Pre-2021 Raspberry Pi 4 Bootloader update - an USB flash disk ONLY ==&lt;br /&gt;
&lt;br /&gt;
If you encountered a problem booting Raspberry Pi 4 from a USB device (common for all USB devices, not only flash disks), the most probable reason is that your Raspberry Pi 4 is from an older batch and its bootloader has to be updated. The procedure is simple and you will need a blank small MicroSD card to continue, the data are around 1MB in size, so any small microSD card will do the job. The process is nicely described in [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader the raspberry pi official documentation].&lt;br /&gt;
&lt;br /&gt;
* In case you are looking for more extensive USB booting guide click [https://globalmeteornetwork.org/wiki/index.php?title=Booting_from_a_USB_device here]&lt;br /&gt;
&lt;br /&gt;
* the pre-installed RMS software images incorporate an auto-updating feature, so that the RMS software is updated to the current release whenever your Raspberry Pi RMS is booted. This way, your station is always running the most recent set of updates. &lt;br /&gt;
&lt;br /&gt;
== The first boot ==&lt;br /&gt;
&lt;br /&gt;
This is how the first boot of RMS linux looks like:&lt;br /&gt;
[[File:The_first_boot_raspi.png|1500px|center]]&lt;br /&gt;
&lt;br /&gt;
Now it is good time to send an email to denis.vida@gmail.com with short introduction, stating that you are building the camera, stating from which country you are and asking for the station code. You will need it later when setting up the RMS software once your camera is fully installed and positioned.&lt;br /&gt;
&lt;br /&gt;
= [OPTIONAL] Install the software from scratch  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions on [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page].&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to focus your camera and put all bits and pieces together for the first test. Exciting, isn&#039;t it? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=732</id>
		<title>Installing OS onto a Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi&amp;diff=732"/>
		<updated>2025-02-17T20:28:44Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Flash image onto a microSD card/USB flash disk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Ahoj! In this section, you will flash (or install if you wish) an OS Linux onto your SD card or USB flash key and boot your Raspberry Pi for the first time.&lt;br /&gt;
&lt;br /&gt;
= Install OS by flashing the image =&lt;br /&gt;
== Flash image onto a microSD card/USB flash disk ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; The process is the same for an microSD card or a USB flash key, just the target will differ. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Download the image for your Raspberry Pi model from the list below and save it on the PC somewhere.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 4B&#039;&#039;&#039; we recommend you will download and use [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4Bullseye_image_20231213.img.xz this image]. It is based on Bullseye 64-bit.&lt;br /&gt;
#:* If you have &#039;&#039;&#039;Raspberry Pi 5&#039;&#039;&#039; download [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi5Bookworm_image_20240910.img.xz this image]. It is based on Bookworm 64-bit and this is the only image working with Raspberry Pi 5. &#039;&#039;&#039;Please note&#039;&#039;&#039; that it can be used for Raspberry Pi 4B, but there are some things not working there (Anydesk, RTC module) and we see no advantage in running this image on Raspberry Pi 4B at the moment.&lt;br /&gt;
#:* &#039;&#039;&#039;For archive purposes&#039;&#039;&#039;, you can download the previous 32-bit image for Raspberry Pi 4B based on Buster 32-bit [https://globalmeteornetwork.org/projects/sd_card_images/RMS_RPi4_image_20230804.img.xz here]. This image is not maintained and you should use it only if you really need it and know what you are doing.&lt;br /&gt;
#:* In case of trouble with the images please contact the technical support group https://globalmeteornetwork.groups.io/g/techsupport. [https://globalmeteornetwork.org/wiki/index.php?title=Images_checksums Here] you can find a list of checksums and sizes of images.&lt;br /&gt;
# Download the [https://www.balena.io/etcher/ BalenaEtcher], if you haven’t done it yet. The process shown below uses BalenaEtcher as it is the simplest tool for beginners, but if you are familiar with another USB flashing utility (e.g. Rufus or Raspberry Pi Imager) feel free to use these. But if they don’t work for you, please fall back to BalenaEtcher and the process documented below.&lt;br /&gt;
# Note;if you&#039;re using RPi imager, you can set the hostname, wifi details and ssh key details via Custom Settings. Howver DO NOT change or set the username and password as those are baked into the image. &lt;br /&gt;
# Insert a microSD card or a USB flash disk into your PC, and note the letter it was assigned.&lt;br /&gt;
# Run BalenaEtcher, and flash the image file onto your microSD card/USB flash disk: Select Flash from file, find the image file and select it. As Target select your USB flash disk. Normally the system disks are hidden but verify the name, letter and size of your USB flash disk to be sure you have the correct target. Click Flash, once again verify the target and confirm it. Wait for the process to finish. (In case you will receive an error you may need to run BalenaEtcher as administrator)&lt;br /&gt;
# Eject the USB flash disk in Windows if necessary and then remove your microSD card/USB flash disk from your PC and insert it into your Raspberry Pi, which should be connected to a TV or Monitor, and have a keyboard and mouse connected. Power on a Raspberry Pi. Make sure that a microSD card is not inserted.&lt;br /&gt;
# Wait for the boot. If the boot takes too long to occur, please have a look at the next section. If it booted successfully, follow the on-screen instructions. &lt;br /&gt;
&lt;br /&gt;
This is what the selection should look like:&lt;br /&gt;
[[File:BalenaEtcher_selection.png|center]]&lt;br /&gt;
&lt;br /&gt;
This is what the process should look like:&lt;br /&gt;
[[File:BalenaEtcher_process.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Pre-2021 Raspberry Pi 4 Bootloader update - an USB flash disk ONLY ==&lt;br /&gt;
&lt;br /&gt;
If you encountered a problem booting Raspberry Pi 4 from a USB device (common for all USB devices, not only flash disks), the most probable reason is that your Raspberry Pi 4 is from an older batch and its bootloader has to be updated. The procedure is simple and you will need a blank small MicroSD card to continue, the data are around 1MB in size, so any small microSD card will do the job. The process is nicely described in [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-bootloader the raspberry pi official documentation].&lt;br /&gt;
&lt;br /&gt;
* In case you are looking for more extensive USB booting guide click [https://globalmeteornetwork.org/wiki/index.php?title=Booting_from_a_USB_device here]&lt;br /&gt;
&lt;br /&gt;
* the pre-installed RMS software images incorporate an auto-updating feature, so that the RMS software is updated to the current release whenever your Raspberry Pi RMS is booted. This way, your station is always running the most recent set of updates. &lt;br /&gt;
&lt;br /&gt;
== The first boot ==&lt;br /&gt;
&lt;br /&gt;
This is how the first boot of RMS linux looks like:&lt;br /&gt;
[[File:The_first_boot_raspi.png|1500px|center]]&lt;br /&gt;
&lt;br /&gt;
Now it is good time to send an email to denis.vida@gmail.com with short introduction, stating that you are building the camera, stating from which country you are and asking for the station code. You will need it later when setting up the RMS software once your camera is fully installed and positioned.&lt;br /&gt;
&lt;br /&gt;
= [OPTIONAL] Install the software from scratch  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions on [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page].&lt;br /&gt;
&lt;br /&gt;
 You are now done with this section and now you are going to focus your camera and put all bits and pieces together for the first test. Exciting, isn&#039;t it? [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to Back to the signpost page.]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=716</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=716"/>
		<updated>2024-09-22T17:49:20Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Direct Camera connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page explains how to set up RMS on a Pi with the 64-bit version of Bookworm. &lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen python3-virtualenv&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 virtualenv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
 pip install opencv-python&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit we&#039;ll use the autostart feature of the Desktop. &lt;br /&gt;
&lt;br /&gt;
First, create the required folder, then create the script that will auto-start RMS:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/.config/autostart&lt;br /&gt;
 nano $HOME/.config/autostart/StartCapture.desktop&lt;br /&gt;
&lt;br /&gt;
Now paste the following into the file&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Name=Startcapture&lt;br /&gt;
 Type=Application&lt;br /&gt;
 Exec=lxterminal --title=RMS -e &amp;quot;~/source/RMS/Scripts/RMS_FirstRun.sh&amp;quot;&lt;br /&gt;
 Hidden=false&lt;br /&gt;
 NoDisplay=false&lt;br /&gt;
 Icon=lxterminal&lt;br /&gt;
&lt;br /&gt;
Save and exit the editor, then reboot the Pi and you should see the RMS script running.&lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
To stop RMS, click on the RMS window and press Control-C. RMS will shutdown gracefully which sometimes takes several minutes. If it hasn&#039;t shut down completely after about five minutes, press Control-C again or just kill the window. To restart RMS, just reboot the Pi.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Installing CMN_BinViewer ==&lt;br /&gt;
Follow [https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye#Installing_CMN_Binviewer these] instructions. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/24 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Main_Page&amp;diff=710</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Main_Page&amp;diff=710"/>
		<updated>2024-08-08T13:28:51Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Buy a Camera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Global Meteor Network&#039;s wiki page!&lt;br /&gt;
&lt;br /&gt;
The Global Meteor Network (GMN) is a world wide organization of amateur and professional astronomers alike, whose goal is to observe the night sky using low-light video cameras and produce meteor trajectories in a coordinated manner. Here you will find information on the purpose and structure of the GMN, assembling and operating your own meteor camera, contributing to the development of RMS the GMN software, as well as information on how your observations as a citizen scientist can contribute to the further understanding of our solar system&#039;s formation and evolution. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;If you have come here to find out how to build and setup a camera from scratch, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to this] section!&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;For German speakers, there is the Build camera from scratch documentation written by students of [https://fsg-preetz.de/ Friedrich-Schiller-Gymnasium in Preetz] available [http://wiki.linux-astronomie.de/doku.php?id=ceres here]. This version is maintained by Friedrich-Schiller-Gymnasium in Preetz. &amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Meteor Network Overview ==&lt;br /&gt;
&lt;br /&gt;
===  [https://globalmeteornetwork.org/?page_id=141 Our mission] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=363 A brief history of the Global Meteor Network] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://www.youtube.com/watch?v=MAGq-XqD5Po Video introduction - Overview of the Global Meteor Network (IMC2020)] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://youtu.be/oM7lfQ4nmyw Video overview - Meteor tracking and the GMN from Astro Imaging Channel presentation] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/data/ Some &#039;live&#039; GMN data products] ===&lt;br /&gt;
&lt;br /&gt;
== Meteor Detection Station ==&lt;br /&gt;
&lt;br /&gt;
=== What is an RMS GMN station? ===&lt;br /&gt;
: A RMS-based GMN station that is the subject of this Wiki consists of a Raspberry Pi (RPi) single board computer, a low light level security video camera, and the RMS software package. The camera is securely mounted in a weatherproof housing, pointed at the sky, and connected to the RPi with a POE (Power Over Ethernet) cable. The RPi is connected to the Internet via WiFi, and to be a part of GMN network, you’ll need a fairly powerful Raspberry Pi (RPi 3B+, RPi 4 or better) and a reasonably fast Internet connection. The internet connection is primarily required to enable data upload to a central server each morning as well as provide automatic updates for the RMS software. &lt;br /&gt;
&lt;br /&gt;
: Nightly, the RPi starts recording video from the camera shortly after local sunset continuously compressing and storing the video data locally. Each morning before sunrise, after capture is complete, the RPi analyzes the video and extracts your nightly station’s meteor observations. These extracted video “clips” of detected meteors are then archived and uploaded to a server. The clips can total hundreds of megabytes on a “busy” night (e.g., in a heavy meteor shower, or a night with a lot of false detections--progress is being made on the detection software). The server finds meteors which were observed with more than one station and this enables the server to triangulate the meteor trails in 3D and calculate the orbits of the meteors.&lt;br /&gt;
&lt;br /&gt;
=== What do I need? ===&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need a Raspberry Pi with the software on, and a camera kit.  We strongly recommend the Pi4 model. The software will run on a Pi3 but it is much slower and now also not maintained option. The Shopping list with everything you will need can be found on this [https://globalmeteornetwork.org/wiki/index.php?title=Shopping_list_and_tools_needed page].&lt;br /&gt;
&lt;br /&gt;
It is also possible to run multiple cameras on a Linux PC. More details [https://docs.google.com/document/d/16PSFi8RAqbenPdluhulCRaIenOkEzgs5piUhkX3yaOc/edit here].&lt;br /&gt;
&lt;br /&gt;
=== How do I obtain a camera? ===&lt;br /&gt;
There are two options:&lt;br /&gt;
&lt;br /&gt;
==== Buy a Camera ====&lt;br /&gt;
You can buy a camera and Pi prebuilt and ready to install. These are available from a couple of suppliers. The Croatian Meteor Network sell prebuilt cameras as explained on [https://globalmeteornetwork.org/?page_id=136 this page]. Alternatively, if you&#039;re in the UK, you can obtain contact the [https://ukmeteornetwork.org/ UK Meteor Network] for advice, though as of 2024 they are unable to sell cameras directly.&lt;br /&gt;
&lt;br /&gt;
==== Build your own from scratch ====&lt;br /&gt;
This requires some basic DIY skills and some familiarity with the Raspberry PI, but don&#039;t be put off. The instructions are comprehensive and if you get stuck, you can ask for advice in the [https://groups.io/g/globalmeteornetwork groups.io] forum.&lt;br /&gt;
&lt;br /&gt;
Click on this link if you want to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to build a camera from scratch]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Advanced RMS installations and Multi-camera support ===&lt;br /&gt;
If you would like to explore some advanced possibilities to install RMS software onto various platforms or to run multiple cameras on a single Linux computer, please have a look at [https://globalmeteornetwork.org/wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support this page]. In case you are planning to run RMS software on the Raspberry Pi 4, then please use the supported and easiest possibility by using the image we have prepared for you. More information is in [https://globalmeteornetwork.org/wiki/index.php?title=Build_%26_Install_%26_Setup_your_camera_-_The_complete_how-to this extensive guide].&lt;br /&gt;
&lt;br /&gt;
=== Can I use a commercial all-sky camera? ===&lt;br /&gt;
&lt;br /&gt;
: Generally no due to the lack of sensitivity. [https://globalmeteornetwork.org/?p=163 But see this recent experiment]&lt;br /&gt;
&lt;br /&gt;
== Operating and maintaining your GMN station ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
: Please note that GMS is a nascent operation and you may share some growing pains if you choose to be involved -- we&#039;re still working out some bugs and making improvements here, which may be an opportunity to help if you have programming skills! ;-) So note that the workload of day-to-day operation can be non-zero, and might take a little bit of your time.&lt;br /&gt;
&lt;br /&gt;
: Ideally, you&#039;ll want to monitor your RMS RPi system(s) daily to look for freezes or glitches or other problems... like birds nesting or soiling the camera window, people accidentally unplugging the power cord, mice (or cats or dogs!) chewing on the camera Ethernet cable, etc.&lt;br /&gt;
&lt;br /&gt;
: Although we are getting close, this is not a &amp;quot;power up and forget about it&amp;quot; system yet.&lt;br /&gt;
: However, by its very nature, the GMS network is inhabited by a lot of people who are willing to help newcomers getting started. So, here are some clues for daily operation of your RMS camera.&lt;br /&gt;
&lt;br /&gt;
=== So what does the meteor camera do over the course of 24 hours? ===&lt;br /&gt;
&lt;br /&gt;
: The RMS Python based system calculates the sundown to sunrise interval and schedules video camera capture all night long. Depending on the video camera and capabilities of the RPi, the camera captures 25 or more frames per second between evening and morning twilight. During the continuous image capture, the station begins processing captured image data, doing a pre-screening to target frames with a suitable number of stars (usually around 20) that makes it worth looking for meteor detections. Once data capture has finished, the station switches into processing all the promising frames for detections, then refining the astrometric accuracy of every positive detection. Using the station platepar (plate parameters) calibration file, processing iterates to find the best astrometry and photometry solution for each detected meteor. Once this process has analyzed each detection, summary files are created. &lt;br /&gt;
: These summary files include text file data presentation in several widely accepted formats (CAMS and UFOorbit), as well as graphic plots of detection frequencies throughout the night, a set of thumbnail images of detections, a set of thumbnail images of data captured throughout the night, a single image with all detections stacked together, plots of photometry, astrometry, and camera pointing drift in arc minutes throughout the course of the night as the mount or building flexes, a flat file for correcting images, and a plot of all detections showing any identified radiants. Finally all results are combined into a single compressed archive, which is automatically uploaded each morning to the central server. Optionally, you can create a mp4 movie showing a time lapse of the night’s captured images.&lt;br /&gt;
: Each morning you can review the result files on the RPi, and copy anything you want to your computer or tablet.&lt;br /&gt;
&lt;br /&gt;
===Archiving data ===&lt;br /&gt;
&lt;br /&gt;
: Your primary scientific data is automatically uploaded to the central server every morning when data processing is done. However once it has done this, RMS will purge out the oldest data to free up space for the next night&#039;s run. &lt;br /&gt;
&lt;br /&gt;
: So, you may want to copy some of the data to a PC, NAS or cloud for further analysis of your own. The data you should consider backing up are the contents of &#039;&#039;&#039;~/RMS_data/ArchivedFiles&#039;&#039;&#039;, which holds the individual files and data that RMS determined were probably meteors. Full detail on how to nbare beyond the scope of the GMN Wiki, but tools such as robocopy (for Windows) and rsync(for Linux/MacOS) are ideal. These tools can &#039;mirror&#039; data across a network. If you want help configuring these, ask in the Globalmeteornetwork group on groups.io.&lt;br /&gt;
&lt;br /&gt;
: We&#039;ve also built some automated tools that can help to back up any additional data to a thumb drive inserted into the RPi. Please ask in the group about these.&lt;br /&gt;
&lt;br /&gt;
===Backup and restore configuration and RSA keys===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Please note:&#039;&#039;&#039; in case you are on older Buster image, then you need to replace username &#039;rms&#039; with &#039;pi&#039;, e.g. /home/pi instead of /home/rms. How to determine which to use? Simply run: &lt;br /&gt;
::ls /home/rms home/pi&lt;br /&gt;
: whichever comes existent is your home directory&lt;br /&gt;
&lt;br /&gt;
: Open a terminal and execute the command  &#039;&#039;&#039;Scripts/RMS_Backup.sh&#039;&#039;&#039;. A compressed .zip file containing all important configuration files and keys will be created in user&#039;s home directory with the prefix RMS_Backup and .zip extension. Example: &#039;&#039;/home/rms/RMS_Backup_XX0001_2023-01-28.zip&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
: Copy the .zip file to a safe place outside RPi, it will be useful later to restore the system in case of failure. Note it contains the RSA public and private keys used to contact GMN servers, keep it secret.&lt;br /&gt;
&lt;br /&gt;
: To restore the configuration, unzip the backup file in some folder on the RPi and copy the files &#039;&#039;&#039;.config&#039;&#039;&#039;, &#039;&#039;&#039;platepar_cmn2010.cal&#039;&#039;&#039; and &#039;&#039;&#039;mask.bmp&#039;&#039;&#039; to the folder &#039;&#039;&#039;/home/rms/source/RMS/&#039;&#039;&#039;, and the files &#039;&#039;&#039;id_rsa&#039;&#039;&#039; and &#039;&#039;&#039;id_rsa.pub&#039;&#039; to the folder &#039;&#039;/home/rms/.ssh/&#039;&#039;&#039; as in the following example:&lt;br /&gt;
&lt;br /&gt;
:: cp .config platepar_cmn2010.cal mask.bmp /home/rms/source/RMS/&lt;br /&gt;
:: cp id_rsa id_rsa.pub /home/rms/.ssh/&lt;br /&gt;
&lt;br /&gt;
: Make sure that RSA key files permission bits are correct by using the command:&lt;br /&gt;
&lt;br /&gt;
:: chmod 400 ~/.ssh/id_rsa*&lt;br /&gt;
&lt;br /&gt;
=== Viewing the data ===&lt;br /&gt;
&lt;br /&gt;
: To view the data, you can use CMN_binViewer software[https://github.com/CroatianMeteorNetwork/cmn_binviewer] which is already installed in the RMS SD image. &lt;br /&gt;
: There is also a Windows version[https://github.com/CroatianMeteorNetwork/cmn_binviewer/releases] you can install.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Important note&#039;&#039;&#039; : You can also open the images in astronomical FITS viewers such as FITS Liberator or Pixinsight, though the results may be surprising. For example in FITS Liberator, the image will be &#039;&#039;&#039;upside down&#039;&#039;&#039;. This is an artefact of how the software reads the image. In space, there&#039;s no &#039;up&#039; or &#039;down&#039; and so the FITS specification does not dictate whether the pixel (0,0) is at the bottom left or top left, or indeed one of the other corners. Some software, notably FITS Liberator, treats the top left as the origin and so terrestrial images will be displayed mirrored vertically.&lt;br /&gt;
&lt;br /&gt;
=== Tools and Utilities ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.realvnc.com/en/connect/download/viewer/ RealVNC] or [https://anydesk.com/en AnyDesk] remote connect tool allows station access from anywhere. Access from outside your network is enabled by use of an OpenVPN connection address available to meteor stations. Alternatively, with VNC and Teamviewer, you can create an account and team on their websites, and then remotely access your station. &lt;br /&gt;
* Samba data directory access, allows you to copy data results directly from your RPi to your computer or tablet.&lt;br /&gt;
* [https://github.com/CroatianMeteorNetwork/cmn_binviewer CMN_binViewer] can be used to view standard fits image files containing meteor detections. It runs on the RPi, and is also available under Windows.&lt;br /&gt;
* [https://sonotaco.com/soft/e_index.html UFO Orbit] allows you to process data from multiple stations and generate unified radiants of two or more stations seeing the same meteor. It can plot the shared object ground path, orbital characteristics, and can output a summary file of all objects seen by more than one station, which can be used for further analysis.&lt;br /&gt;
* RMS software can be installed under Windows to allow much of the RMS python-based code to be executed on your computer, so it can be run against meteor station data you have transferred to your computer from the RPi.&lt;br /&gt;
* You can run RMS Python jobs on the RPi to sample the image files captured all night long and condense them into a mp4 movie. This creates a sometimes mesmerizing summary that can run for over 2 minutes in length for winter time data.&lt;br /&gt;
&lt;br /&gt;
== What can I do with my GMN station? ==&lt;br /&gt;
&lt;br /&gt;
=== Using SkyFit2 to perform astrometric and photometric calibration + Manually reducing observations of fireballs and computing their trajectories: ===&lt;br /&gt;
* [https://www.youtube.com/watch?v=ao3J9Jf0iLQ Updated 2023 video tutorial]&lt;br /&gt;
* [https://www.youtube.com/watch?v=MOjb3qxDlX4 Old 2021 video tutorial]&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=310 Generating a Google Earth KML file to show your station&#039;s field of view] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=253 Using UFO Orbit program to estimate meteor trajectories] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?p=221 Urban meteor observing] ===&lt;br /&gt;
&lt;br /&gt;
== Data analysis with SkyFit2 ==&lt;br /&gt;
&lt;br /&gt;
SkyFit2 is a program within the RMS library which supports analyzing optical meteor data in most optical formats that are in use today, including videos in any popular video format (mp4, avi, mkv), a sequence of static images, or a single image with shutter breaks.&lt;br /&gt;
&lt;br /&gt;
This [https://www.youtube.com/watch?v=ao3J9Jf0iLQ video tutorial] explains how to using SkyFit2 to perform astrometric and photometric calibration on GMN data and manually reduce observations of fireballs, including computing their trajectories.&lt;br /&gt;
&lt;br /&gt;
A more general and detailed description of SkyFit2 is given at the &#039;&#039;&#039;[[SkyFit2|SkyFit2]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== What should I back up when re-flashing an SD card or a USB disk? ===&lt;br /&gt;
&lt;br /&gt;
: The .config, platepar and mask files that are in the RMS source directory, plus the whole contents of the hidden directory /home/pi/.ssh. &lt;br /&gt;
&lt;br /&gt;
If your SD card or a USB disk fails or becomes corrupted, the config files can be fetched from the server as they are uploaded every day together with the data. However the contents of .ssh are essential for connection to the server, so you must also save these. Once you set up a new SD card or a USB disk, return the files in their original location.&lt;br /&gt;
&lt;br /&gt;
=== What are the values in FTPdetectinfo_*  file designated as hnr mle bin Pix/fm Rho Phi? ===&lt;br /&gt;
&lt;br /&gt;
:  Some of these values are not used in RMS (hnr mle bin), but they are in CAMS, so they are here to conform to the standard. Thus they are all zeros. The others are:&lt;br /&gt;
&lt;br /&gt;
: - Pix/fm - Average angular speed of the meteor in pixels per frame.&lt;br /&gt;
&lt;br /&gt;
: - Rho, Phi - Parameters that define the line of the meteor in polar coordinates, see [https://en.wikipedia.org/wiki/Hough_transform#Theory here] for more details. Rho is the distance of the line from the centre of the image, and phi is the angle of the line as measured from the positive direction of the Y axis (basically a line going from the center of the image to the top of the image), the positive angles are measured clockwise (I think, the CAMS standard might define these parameters a bit differently, the Y axis is flipped).&lt;br /&gt;
&lt;br /&gt;
: The intensity is the sum of all pixel intensities of the meteor on a given frame. Let&#039;s say I represent an area around the meteor on a given frame like this, where the numbers are pixel intensities on an 8-bit image (so they can range from 0 to 255):&lt;br /&gt;
&lt;br /&gt;
: [[File:Intensity_sum.png |Intensity_sum.png ]]&lt;br /&gt;
&lt;br /&gt;
: and the pixels values inside the red boundary represent the meteor blob on the frame, the intensity would be the sum of all numbers inside the red boundary.&lt;br /&gt;
: This value is later used to compute the magnitude. The magnitude is computed as: mag = -2.5*log10(intensity sum) + photometric_offset. The photometric offset is estimated in SkyFit by fitting the line with slope -2.5 through pairs of known magnitudes of stars and logartihms of their pixel intensity sum. The photometric offset is basically the intercept of that line. The constant slope of -2.5 comes from the [https://en.wikipedia.org/wiki/Apparent_magnitude#Calculations definition of stellar magnitudes.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GMN data policy ==&lt;br /&gt;
&lt;br /&gt;
The Global Meteor Network produces several levles of data products:&lt;br /&gt;
* Level 1 - The lowest level data (i.e. as close to &amp;quot;raw&amp;quot; as possible) are the FF image and FR video files saved to the RPi by the capture code and the fireball detector.&lt;br /&gt;
* Level 2 - The meteor detector uses these data to extract positional and brightness information of individual meteors (FTPdetectinfo file), and images are also used for astrometric and photometric calibration (platepar file).  Meteor and star detections are used to generate a range of plots suchs as the single-station shower association graph, camera drift graph, etc. The calibrated meteors measurements get uploaded to the GMN server together with the raw images of individual meteors.&lt;br /&gt;
* Level 3 - The software on the server correlates individual observations and computes multi-station meteor trajectories which are published daily on the GMN [https://globalmeteornetwork.org/data/ data website]. This data is made public under the [https://creativecommons.org/licenses/by/4.0/ CC BY 4.0 license].&lt;br /&gt;
&lt;br /&gt;
Operators of individual GMN stations exclusively own the Level 1 and Level 2 data their stations produce. In practice, this means that they are free to share this data with other meteor networks if they wish to do so. The data that gets uploaded to the GMN server will not be shared publicly nor with other parties without the operator&#039;s consent, but may be used internally by the GMN coordinators to manually produce other data products (e.g. trajectory of a meteorite dropping fireball, analysis of a meteor shower). All station operators will be credited for their data in all GMN publications.&lt;br /&gt;
&lt;br /&gt;
== IstraStream ==&lt;br /&gt;
&lt;br /&gt;
=== [http://istrastream.com/rms-gmn/ IstraStream GMN status website NOW OBSOLETE] ===&lt;br /&gt;
&lt;br /&gt;
: IstraStream.com is an independent hosting site primarily for cameras sold by IstraStream. In mid-2023 Istrastream stopped listing camera image output and the IstraStream data display has been replaced by the [https://globalmeteornetwork.org/weblog/ GMN weblog].&lt;br /&gt;
&lt;br /&gt;
This document explains what every plot on the IstraStream weblog means:&lt;br /&gt;
&lt;br /&gt;
=== [https://docs.google.com/document/d/132aHGn0QPzhpVN2s2n6FT6rJn39LAsPkchWJqXQb8Qk/edit?usp=sharing IstraStream Plots Explanation] ===&lt;br /&gt;
&lt;br /&gt;
== For More Information ==&lt;br /&gt;
&lt;br /&gt;
=== [https://globalmeteornetwork.org/?page_id=43 Contact the Global Meteor Network] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://groups.io/g/globalmeteornetwork Join the Global Meteor Network Forum] ===&lt;br /&gt;
&lt;br /&gt;
=== [https://github.com/markmac99/ukmon-pitools/wiki UK Meteor Network Wiki]===&lt;br /&gt;
This wiki has numerous FAQs and tips on maintaining, monitoring and managing your system, and several explainers such as how to calibrate and create a mask, how to copy data and so forth. &lt;br /&gt;
&lt;br /&gt;
=== GMN talks ===&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/playlist?list=PLmQ5Bvz4ACYJLYfswIeAipapoeGeI6QWy GMN talk for Society for Astronomical Sciences workshop 2024 (The first 3 videos)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=IfUyCHjMATc 2023 GMN Meeting Session 1 (February 2023)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=I78KwF5-1GE 2023 GMN Meeting Session 2 (February 2023)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=wDdrG_FCyGk 2022 GMN Meeting Session 1 (February 2022)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=j_75CDPzjI4 2022 GMN Meeting Session 2 (February 2022)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=f6x9_WCVphY GMN talk at the European Space Agency&#039;s Fireball Workshop (June 2021)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=QXBTLPnPDWs 2021 GMN Meeting] - [https://www.dropbox.com/sh/ia9vagug5lxm8k9/AAB_i_1jcWThUdAHO_2gF_Ksa?dl=0 Link to slides]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=MAGq-XqD5Po Overview of the GMN - IMC2020 (September 2020)]&lt;br /&gt;
&lt;br /&gt;
: [https://www.youtube.com/watch?v=oM7lfQ4nmyw Overview of the GMN, Astro Imaging Channel presentation (May 2020)]&lt;br /&gt;
&lt;br /&gt;
=== GMN-related publications ===&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/abs/2206.11365 Vida, D., Blaauw Erskine, R. C., Brown, P. G., Kambulow, J., Campbell-Brown, M., &amp;amp; Mazur, M. J. (2022). Computing optical meteor flux using global meteor network data. Monthly Notices of the Royal Astronomical Society, 515(2), 2322-2339.]&lt;br /&gt;
&lt;br /&gt;
: [https://academic.oup.com/mnras/advance-article/doi/10.1093/mnras/stab2557/6368869 Moorhead, A. V., Clements, T., &amp;amp; Vida, D. (2021). Meteor shower radiant dispersions in Global Meteor Network data. Monthly Notices of the Royal Astronomical Society, 508(1), 326-339.]&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/abs/2107.12335 Vida, D., Šegon, D., Gural, P. S., Brown, P. G., McIntyre, M. J., Dijkema, T. J., Pavletić, L., Kukić, P., Mazur, M.J., Eschman, P., Roggemans, P., Merlak, A., &amp;amp; Zubović, D. (2021). The Global Meteor Network–Methodology and first results. Monthly Notices of the Royal Astronomical Society, 506(4), 5046-5074.]&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/abs/2003.05458/ Moorhead, A. V., Clements, T. D., &amp;amp; Vida, D. (2020). Realistic gravitational focusing of meteoroid streams. Monthly Notices of the Royal Astronomical Society, 494(2), 2982-2994.] &lt;br /&gt;
&lt;br /&gt;
: [https://globalmeteornetwork.org/wordpress/wp-content/uploads/2018/11/Kukic-et-al-2018-Rolling-shutter.pdf  Kukić, P., Gural, P., Vida, D., Šegon, D. &amp;amp; Merlak, A. (2018) Correction for meteor centroids observed using rolling shutter cameras. WGN, Journal of the International Meteor Organization, 46:5, 154-118.]&lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/2018_WGN___RMS_sun_skirter_final.pdf  Vida, D., Mazur, M. J., Šegon, D., Kukić, P., &amp;amp; Merlak, A. (2018). Compressive strength of a skirting Daytime Arietid-first science results from low-cost Raspberry Pi-based meteor stations. WGN, Journal of the International Meteor Organization, 46, 113-118.] &lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/pdf/1911.02979.pdf Vida, D., Gural, P., Brown, P., Campbell-Brown, M., Wiegert, P. (2019) Estimating trajectories of meteors: an observational Monte Carlo approach - I. Theory. arXiv:1911.02979v4 [astro-ph.EP] 21 Apr 2020]&lt;br /&gt;
&lt;br /&gt;
: [https://arxiv.org/pdf/1911.11734.pdf Vida, D., Gural, P., Brown, P., Campbell-Brown, M., Wiegert, P. (2019) Estimating trajectories of meteors: an observational Monte Carlo approach - II. Results. arXiv:1911.11734v1 [astro-ph.EP] 26 Novr 2019]&lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/2018_WGN___RMS_first_results-final.pdf Vida, D., Mazur, M. J., Šegon, D., Zubović, D., Kukić, P., Parag, F., &amp;amp; Macan, A. (2018). First results of a Raspberry Pi based meteor camera system. WGN, Journal of the International Meteor Organization, 46, 71-78.] &lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/Vida_IMC2016_proceedings_final.pdf Vida, D., Zubović, D., Šegon, D., Gural, P., &amp;amp; Cupec, R. (2016). Open-source meteor detection software for low-cost single-board computers. In Proceedings of the International Meteor Conference (IMC2016), Egmond, The Netherlands (pp. 2-5).] &lt;br /&gt;
&lt;br /&gt;
: [https://gmn.duckdns.org/wordpress/wp-content/uploads/2018/11/Zubovic_IMC2015_priceedings_final.pdf Zubović, D., Vida, D., Gural, P., &amp;amp; Šegon, D. (2015). Advances in the development of a low-cost video meteor station. In Proceedings of the International Meteor Conference, Mistelbach, Austria (pp. 27-30).]&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=706</id>
		<title>Pi4 with Raspbian Bullseye</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=706"/>
		<updated>2024-05-17T15:05:48Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Installing CMN Binviewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is excellent in the role of RMS station. It has just enough processing power with proper external connections. The task of RMS station can be combined with other tasks, as long as they are not too heavy. Possible examples:&lt;br /&gt;
* ADSB receiver&lt;br /&gt;
* NTP server&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 cpu usage.png]]&lt;br /&gt;
&lt;br /&gt;
Memory usage, on average, stays below 1GB so any model would suffice. If your have more memory you could do without a swap partition. This is especially useful if the station uses a flash card as storage. The RMS station task causes a lot of read/write actions. The best way would be to add an external USB3 disk. Any disk would do. External power for the disk should not be necessary, as long as relatively small SSD disks are used.&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 memory usage.png]]&lt;br /&gt;
&lt;br /&gt;
If you decide to add an SSD disk to the Raspberry, see these instructions to boot from SSD by default. [https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb]&lt;br /&gt;
&lt;br /&gt;
The easiest way to run an RMS station is by using the standard RMS image. If you want to have more control, because the Pi will be doing other things as well, or want to have more control over versions used you can build your own. With the latest version of Raspbian, this is not a hard task. You can start by flashing either the default or the lite version of Raspbian Bullseye to your flash card or USB disk.&lt;br /&gt;
&lt;br /&gt;
This howto assumes you are logged into the Pi with SSH (secure shell). You can also connect monitor and keyboard or use VNC to connect to the Raspberry (enable VNC using raspi-config).&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
There are several option to setup networking connections. The best way would be to connect the camera and the Raspberry to a switch. If you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi.&lt;br /&gt;
&lt;br /&gt;
=== If you want to connect the camera to your Pi directly ===&lt;br /&gt;
If you want to do this you have to setup a DHCP service on the Raspberry. You can find the proper way to configure the camera in the manual to build one. Make sure to use and address range different from your main network.&lt;br /&gt;
&#039;&#039;(Note: These instructions were copied over from the original manual)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
== Preparation of the Raspberry Pi to run RMS ==&lt;br /&gt;
If the Raspberry is already running. Check if your filesystem is using the full disk. To do this log in to the Pi and run the command:&lt;br /&gt;
  df -h&lt;br /&gt;
The size of &#039;&#039;/dev/root&#039;&#039; should be near your disk size. If it is not, you still need to expand the filesystem. Use raspi-config for this task.&lt;br /&gt;
  sudo raspi-config&lt;br /&gt;
- &#039;&#039;Choose “Advanced Options” (6) and then “Expand Filesystem” (A1)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
While you are in raspi-config also set GPU memory to 256&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Performance options” (4) and then “GPU Memory” (P2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And set the timezone to UTC&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Localisation options” (5) and then “None of the above” and then “UTC”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Save your settings and exit raspi-config without rebooting the Pi&lt;br /&gt;
&lt;br /&gt;
If your Raspberry has 2GB of memory or less, you can enable swap by editing (&#039;&#039;sudo nano /etc/dphys-swapfile&#039;&#039;) the file &#039;&#039;/etc/dphys-swapfile&#039;&#039; and set&lt;br /&gt;
  CONF_SWAPSIZE=1024&lt;br /&gt;
&lt;br /&gt;
Save the file and do:&lt;br /&gt;
  service dphys-swapfile restart&lt;br /&gt;
&lt;br /&gt;
Reboot the pi&lt;br /&gt;
  sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create user accounts ==&lt;br /&gt;
&lt;br /&gt;
After reboot, login as user &#039;&#039;pi&#039;&#039; and create an account to run RMS and an account for yourself. You could also use the &#039;&#039;pi&#039;&#039; account, but using non-default usernames is a best (security) practise.&lt;br /&gt;
  sudo useradd -m [your name] -g pi -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin&lt;br /&gt;
  sudo passwd [yourname]&lt;br /&gt;
  sudo echo [yourname] ALL=(ALL) NOPASSWD: ALL &amp;gt; /etc/sudoers.d/011_user_nopasswd&lt;br /&gt;
  sudo useradd -m rms&lt;br /&gt;
  sudo passwd -l rms&lt;br /&gt;
&lt;br /&gt;
Now you have an account on your name equal to the &#039;&#039;pi&#039;&#039; account and a locked &#039;&#039;rms&#039;&#039; account. we don’t need interactive logon for &#039;&#039;rms&#039;&#039; so blocking it is a wise thing to do.&lt;br /&gt;
&lt;br /&gt;
Now log out of the Pi and login under your own account. Then do:&lt;br /&gt;
  sudo passwd -l pi&lt;br /&gt;
&lt;br /&gt;
By default the &#039;&#039;/tmp&#039;&#039; directory is used for temporary file storage. This directory is located in the working memory of the Pi and not on disk. As such, there is not enough space available in this directory to do the installation. So we need to use another location. &lt;br /&gt;
&lt;br /&gt;
Become user &#039;&#039;rms&#039;&#039; and use another directory for temporary file storage:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  mkdir tmp&lt;br /&gt;
  echo export TMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  echo export TEMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
Before installing any new packages lets first make sure all current software is up to date&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
The first command updates the copy of the package list and the second upgrades any outdated packages (The -y options means you wont have to confirm the upgrade). It is a wise thing to do this at least on a weekly basis.&lt;br /&gt;
&lt;br /&gt;
Next install additional packages which are needed by RMS. This command will install even mopre packages that you specify. This is because some packages depend on others. And some packages won&#039;t be installed, because they are already present.&lt;br /&gt;
  sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 g++ g++-10 gcc-10 gcc-10-base gcc-7-base gcc-8-base gcc-9-base gfortran gfortran-10 libgstreamer-opencv1.0-0 python3-opencv python3-opencv-apps  ros-opencv-apps opencv-data opencv-doc libopencv* python3-setuptools python3-scipy cython3 cython3-dbg python3-pytest-cython python3-astropy* python3-paramiko python3-matplotlib* libcfitsio9 libwcs7 python3-pyqtgraph python3-git python3-pil git git-man wxpython-tools wx3.0-headers wx-common python3-wxgtk4.0 libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libwxbase3.0-dev libwxbase3.0-0v5 screen python3-six python3-numpy python3-imageio libgstreamer-plugins-base1.0-dev libwebkit2gtk-4.0-dev libwebkit2gtk-4.0-37 dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev  libnotify-dev freeglut3 freeglut3-dev libghc-gtk3-dev python-tk gstreamer1.0-tools gstreamer1.0-plugins-base-apps gstreamer1.0-rtsp gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-python3-plugin-loader gstreamer1.0-opencv gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-plugins-rtp gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
Some of the later tasks also require a Rust compiler. This is not available in the Raspbian package repository and needs to be installed by hand in the &#039;&#039;rms&#039;&#039; account.&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  curl https://sh.rustup.rs -sSf | sh&lt;br /&gt;
&lt;br /&gt;
And proceed with installation. Verify correct installation with:&lt;br /&gt;
  sudo -i -u rms rustc --version&lt;br /&gt;
&lt;br /&gt;
While you are here download the RMS software as well:&lt;br /&gt;
  mkdir Desktop (might already exist)&lt;br /&gt;
  mkdir source&lt;br /&gt;
  cd source&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
and exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
== Create the virtual Python environment for RMS ==&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; (you can exit the user &#039;&#039;rms&#039;&#039; with the command &#039;&#039;exit&#039;&#039;)&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Create the virtual environment:&lt;br /&gt;
  cd ~&lt;br /&gt;
  virtualenv vRMS&lt;br /&gt;
&lt;br /&gt;
Activate the virtual environment:&lt;br /&gt;
  source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
And activate it on re-login:&lt;br /&gt;
  echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
  echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Now install the nescessary Python modules. This takes a while:&lt;br /&gt;
  pip3 install -U pip setuptools&lt;br /&gt;
  pip3 install Pillow&lt;br /&gt;
  pip3 install gitpython cython pyephem astropy paramiko&lt;br /&gt;
  pip3 install matplotlib&lt;br /&gt;
  pip3 install imreg_dft&lt;br /&gt;
  pip3 install configparser==4.0.2&lt;br /&gt;
  pip3 install numpy==1.23.5&lt;br /&gt;
  pip3 install imageio==2.6.1&lt;br /&gt;
  pip3 install scipy==1.6.0&lt;br /&gt;
  pip3 install pyfits&lt;br /&gt;
  pip3 install pyqtgraph&lt;br /&gt;
  pip3 install pyqt5 --config-settings --confirm-license= --verbose&lt;br /&gt;
  pip3 install opencv-python&lt;br /&gt;
&lt;br /&gt;
And exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Setting up RMS ==&lt;br /&gt;
&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; with:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
  git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
  git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ready the RMS software with (you should already be in the directory &#039;&#039;/source/RMS&#039;&#039;):&lt;br /&gt;
  python setup.py install&lt;br /&gt;
  ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
Now find your coordinates on the globe. Your location needs to be known very accurately (to 5 decimal places). Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory.&lt;br /&gt;
  nano .config&lt;br /&gt;
&lt;br /&gt;
Also, change the configuration of the camera.&lt;br /&gt;
&lt;br /&gt;
Now run RMS for the first time.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet. Request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Start again when you have your Station-ID in your config file.&lt;br /&gt;
&lt;br /&gt;
When RMS runs successfully, stop RMS. In the next chapter a script will be created to automatically start and update RMS and restart RMS when it is not running for some reason.&lt;br /&gt;
&lt;br /&gt;
Exit the &#039;&#039;rms&#039;&#039; account&lt;br /&gt;
&lt;br /&gt;
== Create startscripts to run RMS ==&lt;br /&gt;
&lt;br /&gt;
Create a script to (re-)start RMS automatically. Create a new script file by doing:&lt;br /&gt;
  sudo nano /usr/local/bin/RMS.sh&lt;br /&gt;
&lt;br /&gt;
and put the following contents in it and save:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  MYHOME=/home/rms&lt;br /&gt;
  RESTART=/tmp/RESTART_RMS&lt;br /&gt;
  STARTAT=/tmp/START_RMS&lt;br /&gt;
  # Set environment variables&lt;br /&gt;
  export HOME=${MYHOME}&lt;br /&gt;
  export PATH=${MYHOME}/vRMS/bin:${MYHOME}/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
  source ${MYHOME}/vRMS/bin/activate&lt;br /&gt;
  # Check if FirstRun is running and start if not&lt;br /&gt;
  ps -ef | grep -v grep | grep RMS_FirstRun.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  if [ $? -eq 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    # Check if restart token is set&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      # Nicely kill FirstRun first&lt;br /&gt;
      FRPID=`ps -ef | grep -v grep | grep -vi screen | grep RMS_FirstRun.sh | head -n1 | tr -s &#039; &#039; | cut -f 2 -d &#039; &#039;`&lt;br /&gt;
      kill -11 $FRPID&lt;br /&gt;
      echo $FRPID &amp;gt; ${STARTAT}&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
      # Will be restarted at the next run&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    date &amp;gt; ${STARTAT}&lt;br /&gt;
    screen -d -m ${MYHOME}/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Raspbian is running a program named &#039;&#039;cron&#039;&#039; to execute tasks at certain times. The script above needs to be started every 10 minutes. That way RMS is (re-)started automatically. By creating the file &#039;&#039;/tmp/RESTART_RMS&#039;&#039; RMS can be stopped and restarted 10 minutes later. The effect of this is that RMS is updated.&lt;br /&gt;
  sudo nano /etc/crontab&lt;br /&gt;
&lt;br /&gt;
And add the following lines before the last line:&lt;br /&gt;
  */10 *  * * *   rms /usr/local/bin/RMS.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  22 12   * * *   rms touch /tmp/RESTART_RMS&lt;br /&gt;
&lt;br /&gt;
This will run the script as user RMS.&lt;br /&gt;
&lt;br /&gt;
If you want to see what the script is doing, you can attach your session to it.&lt;br /&gt;
&lt;br /&gt;
First become the user &#039;&#039;rms&#039;&#039;&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
The attach your session by issuing the command:&lt;br /&gt;
  screen -r&lt;br /&gt;
&lt;br /&gt;
If you want to exit press ctrl-a and then d. Then exit the user &#039;&#039;rms&#039;&#039; with &#039;&#039;exit&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installing CMN Binviewer ==&lt;br /&gt;
To view the binary files of RMS you can use the Binviewer program (previously from the Croatian Meteor Network CMN, now maintained by Mark McIntyre). If you&#039;re using Bullseye or an earlier version of Raspian, install this under your normal user account (&#039;&#039;[Yourname]&#039;&#039;). If you&#039;re using Bookworm, install it in the rms user account as the newer OS does not permit access to other account&#039;s files. If you want to open files you can browse to /home/rms/RMS_data. Since data is read only, you run no risk of disturbing your RMS installation. You need to run the graphic desktop environment for this though. Alternatively you can setup the Binviewer on another computer and transfer the files there. If you want to run Samba to get the files from the Raspberry, be careful though. RMS may store over 5000 files in one directory. Samba will create a heavy system load when opening the directories. It is better to copy the files locally using secure copy (&#039;&#039;scp&#039;&#039;). If you want to install CMN Binviewer locally (not on the Raspberry) then look here: [https://github.com/CroatianMeteorNetwork/cmn_binviewer]&lt;br /&gt;
&lt;br /&gt;
Note: these instructions assume you have already installed RMS on your Raspberry Pi. If you&#039;ve not done that, do it first. This is needed because RMS and Binviewer require many of the same system libraries installed with apt.&lt;br /&gt;
&lt;br /&gt;
To install on the Rasberry Pi, first log in. Then do:&lt;br /&gt;
 mkdir -p ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/cmn_binviewer.git&lt;br /&gt;
 virtualenv -p python3 ~/vBinviewer&lt;br /&gt;
 source ~/vBinviewer/bin/activate&lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
Then create the startscript for CMN Binviewer:&lt;br /&gt;
 sudo nano ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
And paste these contents in it:&lt;br /&gt;
 #!/usr/bin/bash&lt;br /&gt;
 source ~/vBinviewer/bin/activate  &lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 python CMN_binViewer.py&lt;br /&gt;
&lt;br /&gt;
Make the script executable and create a link to the script from the Desktop:&lt;br /&gt;
 chmod +x ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
 ln -s ~/vBinviewer/CMN_Binviewer ~/Desktop/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
Support notes:&lt;br /&gt;
* If you get &amp;quot;ImportError: libopenblas.so.0&amp;quot; try running this in a Terminal window - sudo apt-get install -y libopenblas-dev&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=705</id>
		<title>Pi4 with Raspbian Bullseye</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=705"/>
		<updated>2024-05-17T14:45:50Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Installing CMN Binviewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is excellent in the role of RMS station. It has just enough processing power with proper external connections. The task of RMS station can be combined with other tasks, as long as they are not too heavy. Possible examples:&lt;br /&gt;
* ADSB receiver&lt;br /&gt;
* NTP server&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 cpu usage.png]]&lt;br /&gt;
&lt;br /&gt;
Memory usage, on average, stays below 1GB so any model would suffice. If your have more memory you could do without a swap partition. This is especially useful if the station uses a flash card as storage. The RMS station task causes a lot of read/write actions. The best way would be to add an external USB3 disk. Any disk would do. External power for the disk should not be necessary, as long as relatively small SSD disks are used.&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 memory usage.png]]&lt;br /&gt;
&lt;br /&gt;
If you decide to add an SSD disk to the Raspberry, see these instructions to boot from SSD by default. [https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb]&lt;br /&gt;
&lt;br /&gt;
The easiest way to run an RMS station is by using the standard RMS image. If you want to have more control, because the Pi will be doing other things as well, or want to have more control over versions used you can build your own. With the latest version of Raspbian, this is not a hard task. You can start by flashing either the default or the lite version of Raspbian Bullseye to your flash card or USB disk.&lt;br /&gt;
&lt;br /&gt;
This howto assumes you are logged into the Pi with SSH (secure shell). You can also connect monitor and keyboard or use VNC to connect to the Raspberry (enable VNC using raspi-config).&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
There are several option to setup networking connections. The best way would be to connect the camera and the Raspberry to a switch. If you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi.&lt;br /&gt;
&lt;br /&gt;
=== If you want to connect the camera to your Pi directly ===&lt;br /&gt;
If you want to do this you have to setup a DHCP service on the Raspberry. You can find the proper way to configure the camera in the manual to build one. Make sure to use and address range different from your main network.&lt;br /&gt;
&#039;&#039;(Note: These instructions were copied over from the original manual)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
== Preparation of the Raspberry Pi to run RMS ==&lt;br /&gt;
If the Raspberry is already running. Check if your filesystem is using the full disk. To do this log in to the Pi and run the command:&lt;br /&gt;
  df -h&lt;br /&gt;
The size of &#039;&#039;/dev/root&#039;&#039; should be near your disk size. If it is not, you still need to expand the filesystem. Use raspi-config for this task.&lt;br /&gt;
  sudo raspi-config&lt;br /&gt;
- &#039;&#039;Choose “Advanced Options” (6) and then “Expand Filesystem” (A1)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
While you are in raspi-config also set GPU memory to 256&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Performance options” (4) and then “GPU Memory” (P2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And set the timezone to UTC&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Localisation options” (5) and then “None of the above” and then “UTC”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Save your settings and exit raspi-config without rebooting the Pi&lt;br /&gt;
&lt;br /&gt;
If your Raspberry has 2GB of memory or less, you can enable swap by editing (&#039;&#039;sudo nano /etc/dphys-swapfile&#039;&#039;) the file &#039;&#039;/etc/dphys-swapfile&#039;&#039; and set&lt;br /&gt;
  CONF_SWAPSIZE=1024&lt;br /&gt;
&lt;br /&gt;
Save the file and do:&lt;br /&gt;
  service dphys-swapfile restart&lt;br /&gt;
&lt;br /&gt;
Reboot the pi&lt;br /&gt;
  sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create user accounts ==&lt;br /&gt;
&lt;br /&gt;
After reboot, login as user &#039;&#039;pi&#039;&#039; and create an account to run RMS and an account for yourself. You could also use the &#039;&#039;pi&#039;&#039; account, but using non-default usernames is a best (security) practise.&lt;br /&gt;
  sudo useradd -m [your name] -g pi -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin&lt;br /&gt;
  sudo passwd [yourname]&lt;br /&gt;
  sudo echo [yourname] ALL=(ALL) NOPASSWD: ALL &amp;gt; /etc/sudoers.d/011_user_nopasswd&lt;br /&gt;
  sudo useradd -m rms&lt;br /&gt;
  sudo passwd -l rms&lt;br /&gt;
&lt;br /&gt;
Now you have an account on your name equal to the &#039;&#039;pi&#039;&#039; account and a locked &#039;&#039;rms&#039;&#039; account. we don’t need interactive logon for &#039;&#039;rms&#039;&#039; so blocking it is a wise thing to do.&lt;br /&gt;
&lt;br /&gt;
Now log out of the Pi and login under your own account. Then do:&lt;br /&gt;
  sudo passwd -l pi&lt;br /&gt;
&lt;br /&gt;
By default the &#039;&#039;/tmp&#039;&#039; directory is used for temporary file storage. This directory is located in the working memory of the Pi and not on disk. As such, there is not enough space available in this directory to do the installation. So we need to use another location. &lt;br /&gt;
&lt;br /&gt;
Become user &#039;&#039;rms&#039;&#039; and use another directory for temporary file storage:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  mkdir tmp&lt;br /&gt;
  echo export TMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  echo export TEMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
Before installing any new packages lets first make sure all current software is up to date&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
The first command updates the copy of the package list and the second upgrades any outdated packages (The -y options means you wont have to confirm the upgrade). It is a wise thing to do this at least on a weekly basis.&lt;br /&gt;
&lt;br /&gt;
Next install additional packages which are needed by RMS. This command will install even mopre packages that you specify. This is because some packages depend on others. And some packages won&#039;t be installed, because they are already present.&lt;br /&gt;
  sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 g++ g++-10 gcc-10 gcc-10-base gcc-7-base gcc-8-base gcc-9-base gfortran gfortran-10 libgstreamer-opencv1.0-0 python3-opencv python3-opencv-apps  ros-opencv-apps opencv-data opencv-doc libopencv* python3-setuptools python3-scipy cython3 cython3-dbg python3-pytest-cython python3-astropy* python3-paramiko python3-matplotlib* libcfitsio9 libwcs7 python3-pyqtgraph python3-git python3-pil git git-man wxpython-tools wx3.0-headers wx-common python3-wxgtk4.0 libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libwxbase3.0-dev libwxbase3.0-0v5 screen python3-six python3-numpy python3-imageio libgstreamer-plugins-base1.0-dev libwebkit2gtk-4.0-dev libwebkit2gtk-4.0-37 dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev  libnotify-dev freeglut3 freeglut3-dev libghc-gtk3-dev python-tk gstreamer1.0-tools gstreamer1.0-plugins-base-apps gstreamer1.0-rtsp gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-python3-plugin-loader gstreamer1.0-opencv gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-plugins-rtp gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
Some of the later tasks also require a Rust compiler. This is not available in the Raspbian package repository and needs to be installed by hand in the &#039;&#039;rms&#039;&#039; account.&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  curl https://sh.rustup.rs -sSf | sh&lt;br /&gt;
&lt;br /&gt;
And proceed with installation. Verify correct installation with:&lt;br /&gt;
  sudo -i -u rms rustc --version&lt;br /&gt;
&lt;br /&gt;
While you are here download the RMS software as well:&lt;br /&gt;
  mkdir Desktop (might already exist)&lt;br /&gt;
  mkdir source&lt;br /&gt;
  cd source&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
and exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
== Create the virtual Python environment for RMS ==&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; (you can exit the user &#039;&#039;rms&#039;&#039; with the command &#039;&#039;exit&#039;&#039;)&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Create the virtual environment:&lt;br /&gt;
  cd ~&lt;br /&gt;
  virtualenv vRMS&lt;br /&gt;
&lt;br /&gt;
Activate the virtual environment:&lt;br /&gt;
  source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
And activate it on re-login:&lt;br /&gt;
  echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
  echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Now install the nescessary Python modules. This takes a while:&lt;br /&gt;
  pip3 install -U pip setuptools&lt;br /&gt;
  pip3 install Pillow&lt;br /&gt;
  pip3 install gitpython cython pyephem astropy paramiko&lt;br /&gt;
  pip3 install matplotlib&lt;br /&gt;
  pip3 install imreg_dft&lt;br /&gt;
  pip3 install configparser==4.0.2&lt;br /&gt;
  pip3 install numpy==1.23.5&lt;br /&gt;
  pip3 install imageio==2.6.1&lt;br /&gt;
  pip3 install scipy==1.6.0&lt;br /&gt;
  pip3 install pyfits&lt;br /&gt;
  pip3 install pyqtgraph&lt;br /&gt;
  pip3 install pyqt5 --config-settings --confirm-license= --verbose&lt;br /&gt;
  pip3 install opencv-python&lt;br /&gt;
&lt;br /&gt;
And exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Setting up RMS ==&lt;br /&gt;
&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; with:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
  git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
  git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ready the RMS software with (you should already be in the directory &#039;&#039;/source/RMS&#039;&#039;):&lt;br /&gt;
  python setup.py install&lt;br /&gt;
  ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
Now find your coordinates on the globe. Your location needs to be known very accurately (to 5 decimal places). Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory.&lt;br /&gt;
  nano .config&lt;br /&gt;
&lt;br /&gt;
Also, change the configuration of the camera.&lt;br /&gt;
&lt;br /&gt;
Now run RMS for the first time.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet. Request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Start again when you have your Station-ID in your config file.&lt;br /&gt;
&lt;br /&gt;
When RMS runs successfully, stop RMS. In the next chapter a script will be created to automatically start and update RMS and restart RMS when it is not running for some reason.&lt;br /&gt;
&lt;br /&gt;
Exit the &#039;&#039;rms&#039;&#039; account&lt;br /&gt;
&lt;br /&gt;
== Create startscripts to run RMS ==&lt;br /&gt;
&lt;br /&gt;
Create a script to (re-)start RMS automatically. Create a new script file by doing:&lt;br /&gt;
  sudo nano /usr/local/bin/RMS.sh&lt;br /&gt;
&lt;br /&gt;
and put the following contents in it and save:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  MYHOME=/home/rms&lt;br /&gt;
  RESTART=/tmp/RESTART_RMS&lt;br /&gt;
  STARTAT=/tmp/START_RMS&lt;br /&gt;
  # Set environment variables&lt;br /&gt;
  export HOME=${MYHOME}&lt;br /&gt;
  export PATH=${MYHOME}/vRMS/bin:${MYHOME}/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
  source ${MYHOME}/vRMS/bin/activate&lt;br /&gt;
  # Check if FirstRun is running and start if not&lt;br /&gt;
  ps -ef | grep -v grep | grep RMS_FirstRun.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  if [ $? -eq 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    # Check if restart token is set&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      # Nicely kill FirstRun first&lt;br /&gt;
      FRPID=`ps -ef | grep -v grep | grep -vi screen | grep RMS_FirstRun.sh | head -n1 | tr -s &#039; &#039; | cut -f 2 -d &#039; &#039;`&lt;br /&gt;
      kill -11 $FRPID&lt;br /&gt;
      echo $FRPID &amp;gt; ${STARTAT}&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
      # Will be restarted at the next run&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    date &amp;gt; ${STARTAT}&lt;br /&gt;
    screen -d -m ${MYHOME}/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Raspbian is running a program named &#039;&#039;cron&#039;&#039; to execute tasks at certain times. The script above needs to be started every 10 minutes. That way RMS is (re-)started automatically. By creating the file &#039;&#039;/tmp/RESTART_RMS&#039;&#039; RMS can be stopped and restarted 10 minutes later. The effect of this is that RMS is updated.&lt;br /&gt;
  sudo nano /etc/crontab&lt;br /&gt;
&lt;br /&gt;
And add the following lines before the last line:&lt;br /&gt;
  */10 *  * * *   rms /usr/local/bin/RMS.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  22 12   * * *   rms touch /tmp/RESTART_RMS&lt;br /&gt;
&lt;br /&gt;
This will run the script as user RMS.&lt;br /&gt;
&lt;br /&gt;
If you want to see what the script is doing, you can attach your session to it.&lt;br /&gt;
&lt;br /&gt;
First become the user &#039;&#039;rms&#039;&#039;&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
The attach your session by issuing the command:&lt;br /&gt;
  screen -r&lt;br /&gt;
&lt;br /&gt;
If you want to exit press ctrl-a and then d. Then exit the user &#039;&#039;rms&#039;&#039; with &#039;&#039;exit&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installing CMN Binviewer ==&lt;br /&gt;
To view the binary files of RMS you can use the Binviewer program (previously from the Croatian Meteor Network CMN, now maintained by Mark McIntyre). If you&#039;re using Bullseye or an earlier version of Raspian, install this under your normal user account (&#039;&#039;[Yourname]&#039;&#039;). If you&#039;re using Bookworm, install it in the rms user account as the newer OS does not permit access to other account&#039;s files. If you want to open files you can browse to /home/rms/RMS_data. Since data is read only, you run no risk of disturbing your RMS installation. You need to run the graphic desktop environment for this though. Alternatively you can setup the Binviewer on another computer and transfer the files there. If you want to run Samba to get the files from the Raspberry, be careful though. RMS may store over 5000 files in one directory. Samba will create a heavy system load when opening the directories. It is better to copy the files locally using secure copy (&#039;&#039;scp&#039;&#039;). If you want to install CMN Binviewer locally (not on the Raspberry) then look here: [https://github.com/CroatianMeteorNetwork/cmn_binviewer]&lt;br /&gt;
&lt;br /&gt;
Note: these instructions assume you have already installed RMS on your Raspberry Pi. If you&#039;ve not done that, do it first. This is needed because RMS and Binviewer require many of the same system libraries installed with apt.&lt;br /&gt;
&lt;br /&gt;
To install on the Rasberry Pi, first log in. Then do:&lt;br /&gt;
 mkdir -p ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/cmn_binviewer.git&lt;br /&gt;
 virtualenv -p python3 ~/vBinviewer&lt;br /&gt;
 source ~/vBinviewer/bin/activate&lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
Then create the startscript for CMN Binviewer:&lt;br /&gt;
 sudo nano ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
And paste these contents in it:&lt;br /&gt;
 #!/usr/bin/bash&lt;br /&gt;
 source ~/vBinviewer/bin/activate  &lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 python CMN_binViewer.py&lt;br /&gt;
&lt;br /&gt;
Make the script executable and create a link to the script from the Desktop:&lt;br /&gt;
 chmod +x ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
 ln -s ~/vBinviewer/CMN_Binviewer ~/Desktop/CMN_Binviewer&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=704</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=704"/>
		<updated>2024-05-16T10:20:14Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Autostart RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page explains how to set up RMS on a Pi with the 64-bit version of Bookworm. &lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen python3-virtualenv&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 virtualenv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
 pip install opencv-python&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit we&#039;ll use the autostart feature of the Desktop. &lt;br /&gt;
&lt;br /&gt;
First, create the required folder, then create the script that will auto-start RMS:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/.config/autostart&lt;br /&gt;
 nano $HOME/.config/autostart/StartCapture.desktop&lt;br /&gt;
&lt;br /&gt;
Now paste the following into the file&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Name=Startcapture&lt;br /&gt;
 Type=Application&lt;br /&gt;
 Exec=lxterminal --title=RMS -e &amp;quot;~/source/RMS/Scripts/RMS_FirstRun.sh&amp;quot;&lt;br /&gt;
 Hidden=false&lt;br /&gt;
 NoDisplay=false&lt;br /&gt;
 Icon=lxterminal&lt;br /&gt;
&lt;br /&gt;
Save and exit the editor, then reboot the Pi and you should see the RMS script running.&lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
To stop RMS, click on the RMS window and press Control-C. RMS will shutdown gracefully which sometimes takes several minutes. If it hasn&#039;t shut down completely after about five minutes, press Control-C again or just kill the window. To restart RMS, just reboot the Pi.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Installing CMN_BinViewer ==&lt;br /&gt;
Follow [https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye#Installing_CMN_Binviewer these] instructions. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=703</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=703"/>
		<updated>2024-05-16T10:09:05Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page explains how to set up RMS on a Pi with the 64-bit version of Bookworm. &lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen python3-virtualenv&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 virtualenv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
 pip install opencv-python&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit we&#039;ll use the autostart feature of the Desktop. Create the required folder, then create the script that will auto-start RMS:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/.config/autostart&lt;br /&gt;
 nano $HOME/.config/autostart/StartCapture.desktop&lt;br /&gt;
&lt;br /&gt;
Now paste the following into the file&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Name=Startcapture&lt;br /&gt;
 Type=Application&lt;br /&gt;
 Exec=lxterminal --title=RMS -e &amp;quot;~/source/RMS/Scripts/RMS_FirstRun.sh&amp;quot;&lt;br /&gt;
 Hidden=false&lt;br /&gt;
 NoDisplay=false&lt;br /&gt;
 Icon=lxterminal&lt;br /&gt;
&lt;br /&gt;
Now reboot the Pi, and you should see the RMS script running. &lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
To stop RMS, click on the RMS window and press Control-C. RMS will shutdown gracefully which sometimes takes several minutes. If it hasn&#039;t shut down completely after about five minutes, press Control-C again or just kill the window. To restart RMS, just reboot the Pi.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Installing CMN_BinViewer ==&lt;br /&gt;
Follow [https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye#Installing_CMN_Binviewer these] instructions. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=702</id>
		<title>Pi4 with Raspbian Bullseye</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=702"/>
		<updated>2024-05-14T19:57:57Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Installing CMN Binviewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is excellent in the role of RMS station. It has just enough processing power with proper external connections. The task of RMS station can be combined with other tasks, as long as they are not too heavy. Possible examples:&lt;br /&gt;
* ADSB receiver&lt;br /&gt;
* NTP server&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 cpu usage.png]]&lt;br /&gt;
&lt;br /&gt;
Memory usage, on average, stays below 1GB so any model would suffice. If your have more memory you could do without a swap partition. This is especially useful if the station uses a flash card as storage. The RMS station task causes a lot of read/write actions. The best way would be to add an external USB3 disk. Any disk would do. External power for the disk should not be necessary, as long as relatively small SSD disks are used.&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 memory usage.png]]&lt;br /&gt;
&lt;br /&gt;
If you decide to add an SSD disk to the Raspberry, see these instructions to boot from SSD by default. [https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb]&lt;br /&gt;
&lt;br /&gt;
The easiest way to run an RMS station is by using the standard RMS image. If you want to have more control, because the Pi will be doing other things as well, or want to have more control over versions used you can build your own. With the latest version of Raspbian, this is not a hard task. You can start by flashing either the default or the lite version of Raspbian Bullseye to your flash card or USB disk.&lt;br /&gt;
&lt;br /&gt;
This howto assumes you are logged into the Pi with SSH (secure shell). You can also connect monitor and keyboard or use VNC to connect to the Raspberry (enable VNC using raspi-config).&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
There are several option to setup networking connections. The best way would be to connect the camera and the Raspberry to a switch. If you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi.&lt;br /&gt;
&lt;br /&gt;
=== If you want to connect the camera to your Pi directly ===&lt;br /&gt;
If you want to do this you have to setup a DHCP service on the Raspberry. You can find the proper way to configure the camera in the manual to build one. Make sure to use and address range different from your main network.&lt;br /&gt;
&#039;&#039;(Note: These instructions were copied over from the original manual)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
== Preparation of the Raspberry Pi to run RMS ==&lt;br /&gt;
If the Raspberry is already running. Check if your filesystem is using the full disk. To do this log in to the Pi and run the command:&lt;br /&gt;
  df -h&lt;br /&gt;
The size of &#039;&#039;/dev/root&#039;&#039; should be near your disk size. If it is not, you still need to expand the filesystem. Use raspi-config for this task.&lt;br /&gt;
  sudo raspi-config&lt;br /&gt;
- &#039;&#039;Choose “Advanced Options” (6) and then “Expand Filesystem” (A1)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
While you are in raspi-config also set GPU memory to 256&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Performance options” (4) and then “GPU Memory” (P2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And set the timezone to UTC&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Localisation options” (5) and then “None of the above” and then “UTC”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Save your settings and exit raspi-config without rebooting the Pi&lt;br /&gt;
&lt;br /&gt;
If your Raspberry has 2GB of memory or less, you can enable swap by editing (&#039;&#039;sudo nano /etc/dphys-swapfile&#039;&#039;) the file &#039;&#039;/etc/dphys-swapfile&#039;&#039; and set&lt;br /&gt;
  CONF_SWAPSIZE=1024&lt;br /&gt;
&lt;br /&gt;
Save the file and do:&lt;br /&gt;
  service dphys-swapfile restart&lt;br /&gt;
&lt;br /&gt;
Reboot the pi&lt;br /&gt;
  sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create user accounts ==&lt;br /&gt;
&lt;br /&gt;
After reboot, login as user &#039;&#039;pi&#039;&#039; and create an account to run RMS and an account for yourself. You could also use the &#039;&#039;pi&#039;&#039; account, but using non-default usernames is a best (security) practise.&lt;br /&gt;
  sudo useradd -m [your name] -g pi -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin&lt;br /&gt;
  sudo passwd [yourname]&lt;br /&gt;
  sudo echo [yourname] ALL=(ALL) NOPASSWD: ALL &amp;gt; /etc/sudoers.d/011_user_nopasswd&lt;br /&gt;
  sudo useradd -m rms&lt;br /&gt;
  sudo passwd -l rms&lt;br /&gt;
&lt;br /&gt;
Now you have an account on your name equal to the &#039;&#039;pi&#039;&#039; account and a locked &#039;&#039;rms&#039;&#039; account. we don’t need interactive logon for &#039;&#039;rms&#039;&#039; so blocking it is a wise thing to do.&lt;br /&gt;
&lt;br /&gt;
Now log out of the Pi and login under your own account. Then do:&lt;br /&gt;
  sudo passwd -l pi&lt;br /&gt;
&lt;br /&gt;
By default the &#039;&#039;/tmp&#039;&#039; directory is used for temporary file storage. This directory is located in the working memory of the Pi and not on disk. As such, there is not enough space available in this directory to do the installation. So we need to use another location. &lt;br /&gt;
&lt;br /&gt;
Become user &#039;&#039;rms&#039;&#039; and use another directory for temporary file storage:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  mkdir tmp&lt;br /&gt;
  echo export TMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  echo export TEMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
Before installing any new packages lets first make sure all current software is up to date&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
The first command updates the copy of the package list and the second upgrades any outdated packages (The -y options means you wont have to confirm the upgrade). It is a wise thing to do this at least on a weekly basis.&lt;br /&gt;
&lt;br /&gt;
Next install additional packages which are needed by RMS. This command will install even mopre packages that you specify. This is because some packages depend on others. And some packages won&#039;t be installed, because they are already present.&lt;br /&gt;
  sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 g++ g++-10 gcc-10 gcc-10-base gcc-7-base gcc-8-base gcc-9-base gfortran gfortran-10 libgstreamer-opencv1.0-0 python3-opencv python3-opencv-apps  ros-opencv-apps opencv-data opencv-doc libopencv* python3-setuptools python3-scipy cython3 cython3-dbg python3-pytest-cython python3-astropy* python3-paramiko python3-matplotlib* libcfitsio9 libwcs7 python3-pyqtgraph python3-git python3-pil git git-man wxpython-tools wx3.0-headers wx-common python3-wxgtk4.0 libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libwxbase3.0-dev libwxbase3.0-0v5 screen python3-six python3-numpy python3-imageio libgstreamer-plugins-base1.0-dev libwebkit2gtk-4.0-dev libwebkit2gtk-4.0-37 dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev  libnotify-dev freeglut3 freeglut3-dev libghc-gtk3-dev python-tk gstreamer1.0-tools gstreamer1.0-plugins-base-apps gstreamer1.0-rtsp gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-python3-plugin-loader gstreamer1.0-opencv gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-plugins-rtp gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
Some of the later tasks also require a Rust compiler. This is not available in the Raspbian package repository and needs to be installed by hand in the &#039;&#039;rms&#039;&#039; account.&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  curl https://sh.rustup.rs -sSf | sh&lt;br /&gt;
&lt;br /&gt;
And proceed with installation. Verify correct installation with:&lt;br /&gt;
  sudo -i -u rms rustc --version&lt;br /&gt;
&lt;br /&gt;
While you are here download the RMS software as well:&lt;br /&gt;
  mkdir Desktop (might already exist)&lt;br /&gt;
  mkdir source&lt;br /&gt;
  cd source&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
and exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
== Create the virtual Python environment for RMS ==&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; (you can exit the user &#039;&#039;rms&#039;&#039; with the command &#039;&#039;exit&#039;&#039;)&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Create the virtual environment:&lt;br /&gt;
  cd ~&lt;br /&gt;
  virtualenv vRMS&lt;br /&gt;
&lt;br /&gt;
Activate the virtual environment:&lt;br /&gt;
  source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
And activate it on re-login:&lt;br /&gt;
  echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
  echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Now install the nescessary Python modules. This takes a while:&lt;br /&gt;
  pip3 install -U pip setuptools&lt;br /&gt;
  pip3 install Pillow&lt;br /&gt;
  pip3 install gitpython cython pyephem astropy paramiko&lt;br /&gt;
  pip3 install matplotlib&lt;br /&gt;
  pip3 install imreg_dft&lt;br /&gt;
  pip3 install configparser==4.0.2&lt;br /&gt;
  pip3 install numpy==1.23.5&lt;br /&gt;
  pip3 install imageio==2.6.1&lt;br /&gt;
  pip3 install scipy==1.6.0&lt;br /&gt;
  pip3 install pyfits&lt;br /&gt;
  pip3 install pyqtgraph&lt;br /&gt;
  pip3 install pyqt5 --config-settings --confirm-license= --verbose&lt;br /&gt;
  pip3 install opencv-python&lt;br /&gt;
&lt;br /&gt;
And exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Setting up RMS ==&lt;br /&gt;
&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; with:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
  git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
  git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ready the RMS software with (you should already be in the directory &#039;&#039;/source/RMS&#039;&#039;):&lt;br /&gt;
  python setup.py install&lt;br /&gt;
  ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
Now find your coordinates on the globe. Your location needs to be known very accurately (to 5 decimal places). Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory.&lt;br /&gt;
  nano .config&lt;br /&gt;
&lt;br /&gt;
Also, change the configuration of the camera.&lt;br /&gt;
&lt;br /&gt;
Now run RMS for the first time.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet. Request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Start again when you have your Station-ID in your config file.&lt;br /&gt;
&lt;br /&gt;
When RMS runs successfully, stop RMS. In the next chapter a script will be created to automatically start and update RMS and restart RMS when it is not running for some reason.&lt;br /&gt;
&lt;br /&gt;
Exit the &#039;&#039;rms&#039;&#039; account&lt;br /&gt;
&lt;br /&gt;
== Create startscripts to run RMS ==&lt;br /&gt;
&lt;br /&gt;
Create a script to (re-)start RMS automatically. Create a new script file by doing:&lt;br /&gt;
  sudo nano /usr/local/bin/RMS.sh&lt;br /&gt;
&lt;br /&gt;
and put the following contents in it and save:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  MYHOME=/home/rms&lt;br /&gt;
  RESTART=/tmp/RESTART_RMS&lt;br /&gt;
  STARTAT=/tmp/START_RMS&lt;br /&gt;
  # Set environment variables&lt;br /&gt;
  export HOME=${MYHOME}&lt;br /&gt;
  export PATH=${MYHOME}/vRMS/bin:${MYHOME}/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
  source ${MYHOME}/vRMS/bin/activate&lt;br /&gt;
  # Check if FirstRun is running and start if not&lt;br /&gt;
  ps -ef | grep -v grep | grep RMS_FirstRun.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  if [ $? -eq 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    # Check if restart token is set&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      # Nicely kill FirstRun first&lt;br /&gt;
      FRPID=`ps -ef | grep -v grep | grep -vi screen | grep RMS_FirstRun.sh | head -n1 | tr -s &#039; &#039; | cut -f 2 -d &#039; &#039;`&lt;br /&gt;
      kill -11 $FRPID&lt;br /&gt;
      echo $FRPID &amp;gt; ${STARTAT}&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
      # Will be restarted at the next run&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    date &amp;gt; ${STARTAT}&lt;br /&gt;
    screen -d -m ${MYHOME}/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Raspbian is running a program named &#039;&#039;cron&#039;&#039; to execute tasks at certain times. The script above needs to be started every 10 minutes. That way RMS is (re-)started automatically. By creating the file &#039;&#039;/tmp/RESTART_RMS&#039;&#039; RMS can be stopped and restarted 10 minutes later. The effect of this is that RMS is updated.&lt;br /&gt;
  sudo nano /etc/crontab&lt;br /&gt;
&lt;br /&gt;
And add the following lines before the last line:&lt;br /&gt;
  */10 *  * * *   rms /usr/local/bin/RMS.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  22 12   * * *   rms touch /tmp/RESTART_RMS&lt;br /&gt;
&lt;br /&gt;
This will run the script as user RMS.&lt;br /&gt;
&lt;br /&gt;
If you want to see what the script is doing, you can attach your session to it.&lt;br /&gt;
&lt;br /&gt;
First become the user &#039;&#039;rms&#039;&#039;&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
The attach your session by issuing the command:&lt;br /&gt;
  screen -r&lt;br /&gt;
&lt;br /&gt;
If you want to exit press ctrl-a and then d. Then exit the user &#039;&#039;rms&#039;&#039; with &#039;&#039;exit&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installing CMN Binviewer ==&lt;br /&gt;
To view the binary files of RMS you can use the Binviewer program (previously from the Croatian Meteor Network CMN, now maintained by Mark McIntyre). If you&#039;re using Bullseye or an earlier version of Raspian, install this under your normal user account (&#039;&#039;[Yourname]&#039;&#039;). If you&#039;re using Bookworm, install it in the rms user account as the newer OS does not permit access to other account&#039;s files. If you want to open files you can browse to /home/rms/RMS_data. Since data is read only, you run no risk of disturbing your RMS installation. You need to run the graphic desktop environment for this though. Alternatively you can setup the Binviewer on another computer and transfer the files there. If you want to run Samba to get the files from the Raspberry, be careful though. RMS may store over 5000 files in one directory. Samba will create a heavy system load when opening the directories. It is better to copy the files locally using secure copy (&#039;&#039;scp&#039;&#039;). If you want to install CMN Binviewer locally (not on the Raspberry) then look here: [https://github.com/CroatianMeteorNetwork/cmn_binviewer]&lt;br /&gt;
&lt;br /&gt;
To install on the Rasberry, first log in. Then do:&lt;br /&gt;
 mkdir -p ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/cmn_binviewer.git&lt;br /&gt;
 virtualenv -p python3 ~/vBinviewer&lt;br /&gt;
 source ~/vBinviewer/bin/activate&lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
Then create the startscript for CMN Binviewer:&lt;br /&gt;
 sudo nano ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
And paste these contents in it:&lt;br /&gt;
 #!/usr/bin/bash&lt;br /&gt;
 source ~/vBinviewer/bin/activate  &lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 python CMN_binViewer.py&lt;br /&gt;
&lt;br /&gt;
Make the script executable and create a link to the script from the Desktop:&lt;br /&gt;
 chmod +x ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
 ln -s ~/vBinviewer/CMN_Binviewer ~/Desktop/CMN_Binviewer&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=701</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=701"/>
		<updated>2024-05-14T19:46:13Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Install RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page explains how to set up RMS on a Pi with the 64-bit version of Bookworm. &lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen python3-virtualenv&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 virtualenv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
 pip install opencv-python&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
 rmslog = lxterminal -e &amp;quot;tail -f /home/rms/RMS_data/logs/RMS_FirstRun.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The first command starts RMS RMS as a background task every time the Pi is restarted. The second command displays the log file in realtime in a window on the desktop. &lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session using the &#039;&#039;screen&#039;&#039; command as shown below. You won&#039;t see anything on the display, but if you press Ctrl-C then wait about thirty seconds and then press &amp;lt;Enter&amp;gt;, and you should see the &#039;&#039;screen&#039;&#039; session terminate. &lt;br /&gt;
 screen -r&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Installing CMN_BinViewer ==&lt;br /&gt;
Follow [https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye#Installing_CMN_Binviewer these] instructions. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=700</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=700"/>
		<updated>2024-05-14T18:26:40Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page explains how to set up RMS on a Pi with the 64-bit version of Bookworm. &lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen python3-virtualenv&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 virtualenv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
 rmslog = lxterminal -e &amp;quot;tail -f /home/rms/RMS_data/logs/RMS_FirstRun.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The first command starts RMS RMS as a background task every time the Pi is restarted. The second command displays the log file in realtime in a window on the desktop. &lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session using the &#039;&#039;screen&#039;&#039; command as shown below. You won&#039;t see anything on the display, but if you press Ctrl-C then wait about thirty seconds and then press &amp;lt;Enter&amp;gt;, and you should see the &#039;&#039;screen&#039;&#039; session terminate. &lt;br /&gt;
 screen -r&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Installing CMN_BinViewer ==&lt;br /&gt;
Follow [https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye#Installing_CMN_Binviewer these] instructions. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=699</id>
		<title>Pi4 with Raspbian Bullseye</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=699"/>
		<updated>2024-05-14T18:25:20Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Installing CMN Binviewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is excellent in the role of RMS station. It has just enough processing power with proper external connections. The task of RMS station can be combined with other tasks, as long as they are not too heavy. Possible examples:&lt;br /&gt;
* ADSB receiver&lt;br /&gt;
* NTP server&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 cpu usage.png]]&lt;br /&gt;
&lt;br /&gt;
Memory usage, on average, stays below 1GB so any model would suffice. If your have more memory you could do without a swap partition. This is especially useful if the station uses a flash card as storage. The RMS station task causes a lot of read/write actions. The best way would be to add an external USB3 disk. Any disk would do. External power for the disk should not be necessary, as long as relatively small SSD disks are used.&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 memory usage.png]]&lt;br /&gt;
&lt;br /&gt;
If you decide to add an SSD disk to the Raspberry, see these instructions to boot from SSD by default. [https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb]&lt;br /&gt;
&lt;br /&gt;
The easiest way to run an RMS station is by using the standard RMS image. If you want to have more control, because the Pi will be doing other things as well, or want to have more control over versions used you can build your own. With the latest version of Raspbian, this is not a hard task. You can start by flashing either the default or the lite version of Raspbian Bullseye to your flash card or USB disk.&lt;br /&gt;
&lt;br /&gt;
This howto assumes you are logged into the Pi with SSH (secure shell). You can also connect monitor and keyboard or use VNC to connect to the Raspberry (enable VNC using raspi-config).&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
There are several option to setup networking connections. The best way would be to connect the camera and the Raspberry to a switch. If you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi.&lt;br /&gt;
&lt;br /&gt;
=== If you want to connect the camera to your Pi directly ===&lt;br /&gt;
If you want to do this you have to setup a DHCP service on the Raspberry. You can find the proper way to configure the camera in the manual to build one. Make sure to use and address range different from your main network.&lt;br /&gt;
&#039;&#039;(Note: These instructions were copied over from the original manual)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
== Preparation of the Raspberry Pi to run RMS ==&lt;br /&gt;
If the Raspberry is already running. Check if your filesystem is using the full disk. To do this log in to the Pi and run the command:&lt;br /&gt;
  df -h&lt;br /&gt;
The size of &#039;&#039;/dev/root&#039;&#039; should be near your disk size. If it is not, you still need to expand the filesystem. Use raspi-config for this task.&lt;br /&gt;
  sudo raspi-config&lt;br /&gt;
- &#039;&#039;Choose “Advanced Options” (6) and then “Expand Filesystem” (A1)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
While you are in raspi-config also set GPU memory to 256&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Performance options” (4) and then “GPU Memory” (P2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And set the timezone to UTC&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Localisation options” (5) and then “None of the above” and then “UTC”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Save your settings and exit raspi-config without rebooting the Pi&lt;br /&gt;
&lt;br /&gt;
If your Raspberry has 2GB of memory or less, you can enable swap by editing (&#039;&#039;sudo nano /etc/dphys-swapfile&#039;&#039;) the file &#039;&#039;/etc/dphys-swapfile&#039;&#039; and set&lt;br /&gt;
  CONF_SWAPSIZE=1024&lt;br /&gt;
&lt;br /&gt;
Save the file and do:&lt;br /&gt;
  service dphys-swapfile restart&lt;br /&gt;
&lt;br /&gt;
Reboot the pi&lt;br /&gt;
  sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create user accounts ==&lt;br /&gt;
&lt;br /&gt;
After reboot, login as user &#039;&#039;pi&#039;&#039; and create an account to run RMS and an account for yourself. You could also use the &#039;&#039;pi&#039;&#039; account, but using non-default usernames is a best (security) practise.&lt;br /&gt;
  sudo useradd -m [your name] -g pi -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin&lt;br /&gt;
  sudo passwd [yourname]&lt;br /&gt;
  sudo echo [yourname] ALL=(ALL) NOPASSWD: ALL &amp;gt; /etc/sudoers.d/011_user_nopasswd&lt;br /&gt;
  sudo useradd -m rms&lt;br /&gt;
  sudo passwd -l rms&lt;br /&gt;
&lt;br /&gt;
Now you have an account on your name equal to the &#039;&#039;pi&#039;&#039; account and a locked &#039;&#039;rms&#039;&#039; account. we don’t need interactive logon for &#039;&#039;rms&#039;&#039; so blocking it is a wise thing to do.&lt;br /&gt;
&lt;br /&gt;
Now log out of the Pi and login under your own account. Then do:&lt;br /&gt;
  sudo passwd -l pi&lt;br /&gt;
&lt;br /&gt;
By default the &#039;&#039;/tmp&#039;&#039; directory is used for temporary file storage. This directory is located in the working memory of the Pi and not on disk. As such, there is not enough space available in this directory to do the installation. So we need to use another location. &lt;br /&gt;
&lt;br /&gt;
Become user &#039;&#039;rms&#039;&#039; and use another directory for temporary file storage:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  mkdir tmp&lt;br /&gt;
  echo export TMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  echo export TEMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
Before installing any new packages lets first make sure all current software is up to date&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
The first command updates the copy of the package list and the second upgrades any outdated packages (The -y options means you wont have to confirm the upgrade). It is a wise thing to do this at least on a weekly basis.&lt;br /&gt;
&lt;br /&gt;
Next install additional packages which are needed by RMS. This command will install even mopre packages that you specify. This is because some packages depend on others. And some packages won&#039;t be installed, because they are already present.&lt;br /&gt;
  sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 g++ g++-10 gcc-10 gcc-10-base gcc-7-base gcc-8-base gcc-9-base gfortran gfortran-10 libgstreamer-opencv1.0-0 python3-opencv python3-opencv-apps  ros-opencv-apps opencv-data opencv-doc libopencv* python3-setuptools python3-scipy cython3 cython3-dbg python3-pytest-cython python3-astropy* python3-paramiko python3-matplotlib* libcfitsio9 libwcs7 python3-pyqtgraph python3-git python3-pil git git-man wxpython-tools wx3.0-headers wx-common python3-wxgtk4.0 libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libwxbase3.0-dev libwxbase3.0-0v5 screen python3-six python3-numpy python3-imageio libgstreamer-plugins-base1.0-dev libwebkit2gtk-4.0-dev libwebkit2gtk-4.0-37 dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev  libnotify-dev freeglut3 freeglut3-dev libghc-gtk3-dev python-tk gstreamer1.0-tools gstreamer1.0-plugins-base-apps gstreamer1.0-rtsp gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-python3-plugin-loader gstreamer1.0-opencv gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-plugins-rtp gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
Some of the later tasks also require a Rust compiler. This is not available in the Raspbian package repository and needs to be installed by hand in the &#039;&#039;rms&#039;&#039; account.&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  curl https://sh.rustup.rs -sSf | sh&lt;br /&gt;
&lt;br /&gt;
And proceed with installation. Verify correct installation with:&lt;br /&gt;
  sudo -i -u rms rustc --version&lt;br /&gt;
&lt;br /&gt;
While you are here download the RMS software as well:&lt;br /&gt;
  mkdir Desktop (might already exist)&lt;br /&gt;
  mkdir source&lt;br /&gt;
  cd source&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
and exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
== Create the virtual Python environment for RMS ==&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; (you can exit the user &#039;&#039;rms&#039;&#039; with the command &#039;&#039;exit&#039;&#039;)&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Create the virtual environment:&lt;br /&gt;
  cd ~&lt;br /&gt;
  virtualenv vRMS&lt;br /&gt;
&lt;br /&gt;
Activate the virtual environment:&lt;br /&gt;
  source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
And activate it on re-login:&lt;br /&gt;
  echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
  echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Now install the nescessary Python modules. This takes a while:&lt;br /&gt;
  pip3 install -U pip setuptools&lt;br /&gt;
  pip3 install Pillow&lt;br /&gt;
  pip3 install gitpython cython pyephem astropy paramiko&lt;br /&gt;
  pip3 install matplotlib&lt;br /&gt;
  pip3 install imreg_dft&lt;br /&gt;
  pip3 install configparser==4.0.2&lt;br /&gt;
  pip3 install numpy==1.23.5&lt;br /&gt;
  pip3 install imageio==2.6.1&lt;br /&gt;
  pip3 install scipy==1.6.0&lt;br /&gt;
  pip3 install pyfits&lt;br /&gt;
  pip3 install pyqtgraph&lt;br /&gt;
  pip3 install pyqt5 --config-settings --confirm-license= --verbose&lt;br /&gt;
  pip3 install opencv-python&lt;br /&gt;
&lt;br /&gt;
And exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Setting up RMS ==&lt;br /&gt;
&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; with:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
  git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
  git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ready the RMS software with (you should already be in the directory &#039;&#039;/source/RMS&#039;&#039;):&lt;br /&gt;
  python setup.py install&lt;br /&gt;
  ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
Now find your coordinates on the globe. Your location needs to be known very accurately (to 5 decimal places). Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory.&lt;br /&gt;
  nano .config&lt;br /&gt;
&lt;br /&gt;
Also, change the configuration of the camera.&lt;br /&gt;
&lt;br /&gt;
Now run RMS for the first time.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet. Request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Start again when you have your Station-ID in your config file.&lt;br /&gt;
&lt;br /&gt;
When RMS runs successfully, stop RMS. In the next chapter a script will be created to automatically start and update RMS and restart RMS when it is not running for some reason.&lt;br /&gt;
&lt;br /&gt;
Exit the &#039;&#039;rms&#039;&#039; account&lt;br /&gt;
&lt;br /&gt;
== Create startscripts to run RMS ==&lt;br /&gt;
&lt;br /&gt;
Create a script to (re-)start RMS automatically. Create a new script file by doing:&lt;br /&gt;
  sudo nano /usr/local/bin/RMS.sh&lt;br /&gt;
&lt;br /&gt;
and put the following contents in it and save:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  MYHOME=/home/rms&lt;br /&gt;
  RESTART=/tmp/RESTART_RMS&lt;br /&gt;
  STARTAT=/tmp/START_RMS&lt;br /&gt;
  # Set environment variables&lt;br /&gt;
  export HOME=${MYHOME}&lt;br /&gt;
  export PATH=${MYHOME}/vRMS/bin:${MYHOME}/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
  source ${MYHOME}/vRMS/bin/activate&lt;br /&gt;
  # Check if FirstRun is running and start if not&lt;br /&gt;
  ps -ef | grep -v grep | grep RMS_FirstRun.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  if [ $? -eq 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    # Check if restart token is set&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      # Nicely kill FirstRun first&lt;br /&gt;
      FRPID=`ps -ef | grep -v grep | grep -vi screen | grep RMS_FirstRun.sh | head -n1 | tr -s &#039; &#039; | cut -f 2 -d &#039; &#039;`&lt;br /&gt;
      kill -11 $FRPID&lt;br /&gt;
      echo $FRPID &amp;gt; ${STARTAT}&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
      # Will be restarted at the next run&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    date &amp;gt; ${STARTAT}&lt;br /&gt;
    screen -d -m ${MYHOME}/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Raspbian is running a program named &#039;&#039;cron&#039;&#039; to execute tasks at certain times. The script above needs to be started every 10 minutes. That way RMS is (re-)started automatically. By creating the file &#039;&#039;/tmp/RESTART_RMS&#039;&#039; RMS can be stopped and restarted 10 minutes later. The effect of this is that RMS is updated.&lt;br /&gt;
  sudo nano /etc/crontab&lt;br /&gt;
&lt;br /&gt;
And add the following lines before the last line:&lt;br /&gt;
  */10 *  * * *   rms /usr/local/bin/RMS.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  22 12   * * *   rms touch /tmp/RESTART_RMS&lt;br /&gt;
&lt;br /&gt;
This will run the script as user RMS.&lt;br /&gt;
&lt;br /&gt;
If you want to see what the script is doing, you can attach your session to it.&lt;br /&gt;
&lt;br /&gt;
First become the user &#039;&#039;rms&#039;&#039;&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
The attach your session by issuing the command:&lt;br /&gt;
  screen -r&lt;br /&gt;
&lt;br /&gt;
If you want to exit press ctrl-a and then d. Then exit the user &#039;&#039;rms&#039;&#039; with &#039;&#039;exit&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installing CMN Binviewer ==&lt;br /&gt;
To view the binary files of RMS you can use the Binviewer program from the Croation Meteor Network. Best practise is to install this under your normal user account (&#039;&#039;[Yourname]&#039;&#039;). In the default Raspbian installation you have read access to the files of other users. If you want to open files you can browse to /home/rms/RMS_data. Since data is read only, you run no risk of disturbing your RMS installation. You need to run the graphic desktop environment for this though. Alternatively you can setup the Binviewer on another computer and transfer the files there. If you want to run Samba to get the files from the Raspberry, be careful though. RMS may store over 5000 files in one directory. Samba will create a heavy system load when opening the directories. It is better to copy the files locally using secure copy (&#039;&#039;scp&#039;&#039;). If you want to install CMN Binviewer locally (not on the Raspberry) then look here: [https://github.com/CroatianMeteorNetwork/cmn_binviewer]&lt;br /&gt;
&lt;br /&gt;
To install on the Rasberry, first log in. Then do:&lt;br /&gt;
 mkdir -p ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/cmn_binviewer.git&lt;br /&gt;
 virtualenv -p python3 ~/vBinviewer&lt;br /&gt;
 source ~/vBinviewer/bin/activate&lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
Then create the startscript for CMN Binviewer:&lt;br /&gt;
 sudo nano ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
And paste these contents in it:&lt;br /&gt;
 #!/usr/bin/bash&lt;br /&gt;
 source ~/vBinviewer/bin/activate  &lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 python CMN_binViewer.py&lt;br /&gt;
&lt;br /&gt;
Make the script executable and create a link to the script from the Desktop:&lt;br /&gt;
 chmod +x ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
 ln -s ~/vBinviewer/CMN_Binviewer ~/Desktop/CMN_Binviewer&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=698</id>
		<title>Pi4 with Raspbian Bullseye</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=698"/>
		<updated>2024-05-14T18:24:39Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Installing CMN Binviewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is excellent in the role of RMS station. It has just enough processing power with proper external connections. The task of RMS station can be combined with other tasks, as long as they are not too heavy. Possible examples:&lt;br /&gt;
* ADSB receiver&lt;br /&gt;
* NTP server&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 cpu usage.png]]&lt;br /&gt;
&lt;br /&gt;
Memory usage, on average, stays below 1GB so any model would suffice. If your have more memory you could do without a swap partition. This is especially useful if the station uses a flash card as storage. The RMS station task causes a lot of read/write actions. The best way would be to add an external USB3 disk. Any disk would do. External power for the disk should not be necessary, as long as relatively small SSD disks are used.&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 memory usage.png]]&lt;br /&gt;
&lt;br /&gt;
If you decide to add an SSD disk to the Raspberry, see these instructions to boot from SSD by default. [https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb]&lt;br /&gt;
&lt;br /&gt;
The easiest way to run an RMS station is by using the standard RMS image. If you want to have more control, because the Pi will be doing other things as well, or want to have more control over versions used you can build your own. With the latest version of Raspbian, this is not a hard task. You can start by flashing either the default or the lite version of Raspbian Bullseye to your flash card or USB disk.&lt;br /&gt;
&lt;br /&gt;
This howto assumes you are logged into the Pi with SSH (secure shell). You can also connect monitor and keyboard or use VNC to connect to the Raspberry (enable VNC using raspi-config).&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
There are several option to setup networking connections. The best way would be to connect the camera and the Raspberry to a switch. If you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi.&lt;br /&gt;
&lt;br /&gt;
=== If you want to connect the camera to your Pi directly ===&lt;br /&gt;
If you want to do this you have to setup a DHCP service on the Raspberry. You can find the proper way to configure the camera in the manual to build one. Make sure to use and address range different from your main network.&lt;br /&gt;
&#039;&#039;(Note: These instructions were copied over from the original manual)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
== Preparation of the Raspberry Pi to run RMS ==&lt;br /&gt;
If the Raspberry is already running. Check if your filesystem is using the full disk. To do this log in to the Pi and run the command:&lt;br /&gt;
  df -h&lt;br /&gt;
The size of &#039;&#039;/dev/root&#039;&#039; should be near your disk size. If it is not, you still need to expand the filesystem. Use raspi-config for this task.&lt;br /&gt;
  sudo raspi-config&lt;br /&gt;
- &#039;&#039;Choose “Advanced Options” (6) and then “Expand Filesystem” (A1)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
While you are in raspi-config also set GPU memory to 256&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Performance options” (4) and then “GPU Memory” (P2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And set the timezone to UTC&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Localisation options” (5) and then “None of the above” and then “UTC”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Save your settings and exit raspi-config without rebooting the Pi&lt;br /&gt;
&lt;br /&gt;
If your Raspberry has 2GB of memory or less, you can enable swap by editing (&#039;&#039;sudo nano /etc/dphys-swapfile&#039;&#039;) the file &#039;&#039;/etc/dphys-swapfile&#039;&#039; and set&lt;br /&gt;
  CONF_SWAPSIZE=1024&lt;br /&gt;
&lt;br /&gt;
Save the file and do:&lt;br /&gt;
  service dphys-swapfile restart&lt;br /&gt;
&lt;br /&gt;
Reboot the pi&lt;br /&gt;
  sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create user accounts ==&lt;br /&gt;
&lt;br /&gt;
After reboot, login as user &#039;&#039;pi&#039;&#039; and create an account to run RMS and an account for yourself. You could also use the &#039;&#039;pi&#039;&#039; account, but using non-default usernames is a best (security) practise.&lt;br /&gt;
  sudo useradd -m [your name] -g pi -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin&lt;br /&gt;
  sudo passwd [yourname]&lt;br /&gt;
  sudo echo [yourname] ALL=(ALL) NOPASSWD: ALL &amp;gt; /etc/sudoers.d/011_user_nopasswd&lt;br /&gt;
  sudo useradd -m rms&lt;br /&gt;
  sudo passwd -l rms&lt;br /&gt;
&lt;br /&gt;
Now you have an account on your name equal to the &#039;&#039;pi&#039;&#039; account and a locked &#039;&#039;rms&#039;&#039; account. we don’t need interactive logon for &#039;&#039;rms&#039;&#039; so blocking it is a wise thing to do.&lt;br /&gt;
&lt;br /&gt;
Now log out of the Pi and login under your own account. Then do:&lt;br /&gt;
  sudo passwd -l pi&lt;br /&gt;
&lt;br /&gt;
By default the &#039;&#039;/tmp&#039;&#039; directory is used for temporary file storage. This directory is located in the working memory of the Pi and not on disk. As such, there is not enough space available in this directory to do the installation. So we need to use another location. &lt;br /&gt;
&lt;br /&gt;
Become user &#039;&#039;rms&#039;&#039; and use another directory for temporary file storage:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  mkdir tmp&lt;br /&gt;
  echo export TMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  echo export TEMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
Before installing any new packages lets first make sure all current software is up to date&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
The first command updates the copy of the package list and the second upgrades any outdated packages (The -y options means you wont have to confirm the upgrade). It is a wise thing to do this at least on a weekly basis.&lt;br /&gt;
&lt;br /&gt;
Next install additional packages which are needed by RMS. This command will install even mopre packages that you specify. This is because some packages depend on others. And some packages won&#039;t be installed, because they are already present.&lt;br /&gt;
  sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 g++ g++-10 gcc-10 gcc-10-base gcc-7-base gcc-8-base gcc-9-base gfortran gfortran-10 libgstreamer-opencv1.0-0 python3-opencv python3-opencv-apps  ros-opencv-apps opencv-data opencv-doc libopencv* python3-setuptools python3-scipy cython3 cython3-dbg python3-pytest-cython python3-astropy* python3-paramiko python3-matplotlib* libcfitsio9 libwcs7 python3-pyqtgraph python3-git python3-pil git git-man wxpython-tools wx3.0-headers wx-common python3-wxgtk4.0 libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libwxbase3.0-dev libwxbase3.0-0v5 screen python3-six python3-numpy python3-imageio libgstreamer-plugins-base1.0-dev libwebkit2gtk-4.0-dev libwebkit2gtk-4.0-37 dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev  libnotify-dev freeglut3 freeglut3-dev libghc-gtk3-dev python-tk gstreamer1.0-tools gstreamer1.0-plugins-base-apps gstreamer1.0-rtsp gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-python3-plugin-loader gstreamer1.0-opencv gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-plugins-rtp gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
Some of the later tasks also require a Rust compiler. This is not available in the Raspbian package repository and needs to be installed by hand in the &#039;&#039;rms&#039;&#039; account.&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  curl https://sh.rustup.rs -sSf | sh&lt;br /&gt;
&lt;br /&gt;
And proceed with installation. Verify correct installation with:&lt;br /&gt;
  sudo -i -u rms rustc --version&lt;br /&gt;
&lt;br /&gt;
While you are here download the RMS software as well:&lt;br /&gt;
  mkdir Desktop (might already exist)&lt;br /&gt;
  mkdir source&lt;br /&gt;
  cd source&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
and exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
== Create the virtual Python environment for RMS ==&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; (you can exit the user &#039;&#039;rms&#039;&#039; with the command &#039;&#039;exit&#039;&#039;)&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Create the virtual environment:&lt;br /&gt;
  cd ~&lt;br /&gt;
  virtualenv vRMS&lt;br /&gt;
&lt;br /&gt;
Activate the virtual environment:&lt;br /&gt;
  source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
And activate it on re-login:&lt;br /&gt;
  echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
  echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Now install the nescessary Python modules. This takes a while:&lt;br /&gt;
  pip3 install -U pip setuptools&lt;br /&gt;
  pip3 install Pillow&lt;br /&gt;
  pip3 install gitpython cython pyephem astropy paramiko&lt;br /&gt;
  pip3 install matplotlib&lt;br /&gt;
  pip3 install imreg_dft&lt;br /&gt;
  pip3 install configparser==4.0.2&lt;br /&gt;
  pip3 install numpy==1.23.5&lt;br /&gt;
  pip3 install imageio==2.6.1&lt;br /&gt;
  pip3 install scipy==1.6.0&lt;br /&gt;
  pip3 install pyfits&lt;br /&gt;
  pip3 install pyqtgraph&lt;br /&gt;
  pip3 install pyqt5 --config-settings --confirm-license= --verbose&lt;br /&gt;
  pip3 install opencv-python&lt;br /&gt;
&lt;br /&gt;
And exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Setting up RMS ==&lt;br /&gt;
&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; with:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
  git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
  git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ready the RMS software with (you should already be in the directory &#039;&#039;/source/RMS&#039;&#039;):&lt;br /&gt;
  python setup.py install&lt;br /&gt;
  ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
Now find your coordinates on the globe. Your location needs to be known very accurately (to 5 decimal places). Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory.&lt;br /&gt;
  nano .config&lt;br /&gt;
&lt;br /&gt;
Also, change the configuration of the camera.&lt;br /&gt;
&lt;br /&gt;
Now run RMS for the first time.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet. Request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Start again when you have your Station-ID in your config file.&lt;br /&gt;
&lt;br /&gt;
When RMS runs successfully, stop RMS. In the next chapter a script will be created to automatically start and update RMS and restart RMS when it is not running for some reason.&lt;br /&gt;
&lt;br /&gt;
Exit the &#039;&#039;rms&#039;&#039; account&lt;br /&gt;
&lt;br /&gt;
== Create startscripts to run RMS ==&lt;br /&gt;
&lt;br /&gt;
Create a script to (re-)start RMS automatically. Create a new script file by doing:&lt;br /&gt;
  sudo nano /usr/local/bin/RMS.sh&lt;br /&gt;
&lt;br /&gt;
and put the following contents in it and save:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  MYHOME=/home/rms&lt;br /&gt;
  RESTART=/tmp/RESTART_RMS&lt;br /&gt;
  STARTAT=/tmp/START_RMS&lt;br /&gt;
  # Set environment variables&lt;br /&gt;
  export HOME=${MYHOME}&lt;br /&gt;
  export PATH=${MYHOME}/vRMS/bin:${MYHOME}/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
  source ${MYHOME}/vRMS/bin/activate&lt;br /&gt;
  # Check if FirstRun is running and start if not&lt;br /&gt;
  ps -ef | grep -v grep | grep RMS_FirstRun.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  if [ $? -eq 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    # Check if restart token is set&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      # Nicely kill FirstRun first&lt;br /&gt;
      FRPID=`ps -ef | grep -v grep | grep -vi screen | grep RMS_FirstRun.sh | head -n1 | tr -s &#039; &#039; | cut -f 2 -d &#039; &#039;`&lt;br /&gt;
      kill -11 $FRPID&lt;br /&gt;
      echo $FRPID &amp;gt; ${STARTAT}&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
      # Will be restarted at the next run&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    date &amp;gt; ${STARTAT}&lt;br /&gt;
    screen -d -m ${MYHOME}/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Raspbian is running a program named &#039;&#039;cron&#039;&#039; to execute tasks at certain times. The script above needs to be started every 10 minutes. That way RMS is (re-)started automatically. By creating the file &#039;&#039;/tmp/RESTART_RMS&#039;&#039; RMS can be stopped and restarted 10 minutes later. The effect of this is that RMS is updated.&lt;br /&gt;
  sudo nano /etc/crontab&lt;br /&gt;
&lt;br /&gt;
And add the following lines before the last line:&lt;br /&gt;
  */10 *  * * *   rms /usr/local/bin/RMS.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  22 12   * * *   rms touch /tmp/RESTART_RMS&lt;br /&gt;
&lt;br /&gt;
This will run the script as user RMS.&lt;br /&gt;
&lt;br /&gt;
If you want to see what the script is doing, you can attach your session to it.&lt;br /&gt;
&lt;br /&gt;
First become the user &#039;&#039;rms&#039;&#039;&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
The attach your session by issuing the command:&lt;br /&gt;
  screen -r&lt;br /&gt;
&lt;br /&gt;
If you want to exit press ctrl-a and then d. Then exit the user &#039;&#039;rms&#039;&#039; with &#039;&#039;exit&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installing CMN Binviewer ==&lt;br /&gt;
To view the binary files of RMS you can use the Binviewer program from the Croation Meteor Network. Best practise is to install this under your normal user account (&#039;&#039;[Yourname]&#039;&#039;). In the default Raspbian installation you have read access to the files of other users. If you want to open files you can browse to /home/rms/RMS_data. Since data is read only, you run no risk of disturbing your RMS installation. You need to run the graphic desktop environment for this though. Alternatively you can setup the Binviewer on another computer and transfer the files there. If you want to run Samba to get the files from the Raspberry, be careful though. RMS may store over 5000 files in one directory. Samba will create a heavy system load when opening the directories. It is better to copy the files locally using secure copy (&#039;&#039;scp&#039;&#039;). If you want to install CMN Binviewer locally (not on the Raspberry) then look here: [https://github.com/CroatianMeteorNetwork/cmn_binviewer]&lt;br /&gt;
&lt;br /&gt;
To install on the Rasberry, first log in. Then do:&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/cmn_binviewer.git&lt;br /&gt;
 virtualenv -p python3 ~/vBinviewer&lt;br /&gt;
 source ~/vBinviewer/bin/activate&lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
Then create the startscript for CMN Binviewer:&lt;br /&gt;
 sudo nano ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
And paste these contents in it:&lt;br /&gt;
 #!/usr/bin/bash&lt;br /&gt;
 source ~/vBinviewer/bin/activate  &lt;br /&gt;
 cd ~/source/cmn_binviewer&lt;br /&gt;
 python CMN_binViewer.py&lt;br /&gt;
&lt;br /&gt;
Make the script executable and create a link to the script from the Desktop:&lt;br /&gt;
 chmod +x ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
 ln -s ~/vBinviewer/CMN_Binviewer ~/Desktop/CMN_Binviewer&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=697</id>
		<title>Pi4 with Raspbian Bullseye</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bullseye&amp;diff=697"/>
		<updated>2024-05-14T18:22:10Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Installing CMN Binviewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is excellent in the role of RMS station. It has just enough processing power with proper external connections. The task of RMS station can be combined with other tasks, as long as they are not too heavy. Possible examples:&lt;br /&gt;
* ADSB receiver&lt;br /&gt;
* NTP server&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 cpu usage.png]]&lt;br /&gt;
&lt;br /&gt;
Memory usage, on average, stays below 1GB so any model would suffice. If your have more memory you could do without a swap partition. This is especially useful if the station uses a flash card as storage. The RMS station task causes a lot of read/write actions. The best way would be to add an external USB3 disk. Any disk would do. External power for the disk should not be necessary, as long as relatively small SSD disks are used.&lt;br /&gt;
&lt;br /&gt;
[[File:Pi4 memory usage.png]]&lt;br /&gt;
&lt;br /&gt;
If you decide to add an SSD disk to the Raspberry, see these instructions to boot from SSD by default. [https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb]&lt;br /&gt;
&lt;br /&gt;
The easiest way to run an RMS station is by using the standard RMS image. If you want to have more control, because the Pi will be doing other things as well, or want to have more control over versions used you can build your own. With the latest version of Raspbian, this is not a hard task. You can start by flashing either the default or the lite version of Raspbian Bullseye to your flash card or USB disk.&lt;br /&gt;
&lt;br /&gt;
This howto assumes you are logged into the Pi with SSH (secure shell). You can also connect monitor and keyboard or use VNC to connect to the Raspberry (enable VNC using raspi-config).&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
There are several option to setup networking connections. The best way would be to connect the camera and the Raspberry to a switch. If you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi.&lt;br /&gt;
&lt;br /&gt;
=== If you want to connect the camera to your Pi directly ===&lt;br /&gt;
If you want to do this you have to setup a DHCP service on the Raspberry. You can find the proper way to configure the camera in the manual to build one. Make sure to use and address range different from your main network.&lt;br /&gt;
&#039;&#039;(Note: These instructions were copied over from the original manual)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
== Preparation of the Raspberry Pi to run RMS ==&lt;br /&gt;
If the Raspberry is already running. Check if your filesystem is using the full disk. To do this log in to the Pi and run the command:&lt;br /&gt;
  df -h&lt;br /&gt;
The size of &#039;&#039;/dev/root&#039;&#039; should be near your disk size. If it is not, you still need to expand the filesystem. Use raspi-config for this task.&lt;br /&gt;
  sudo raspi-config&lt;br /&gt;
- &#039;&#039;Choose “Advanced Options” (6) and then “Expand Filesystem” (A1)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
While you are in raspi-config also set GPU memory to 256&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Performance options” (4) and then “GPU Memory” (P2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And set the timezone to UTC&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;Choose “Localisation options” (5) and then “None of the above” and then “UTC”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Save your settings and exit raspi-config without rebooting the Pi&lt;br /&gt;
&lt;br /&gt;
If your Raspberry has 2GB of memory or less, you can enable swap by editing (&#039;&#039;sudo nano /etc/dphys-swapfile&#039;&#039;) the file &#039;&#039;/etc/dphys-swapfile&#039;&#039; and set&lt;br /&gt;
  CONF_SWAPSIZE=1024&lt;br /&gt;
&lt;br /&gt;
Save the file and do:&lt;br /&gt;
  service dphys-swapfile restart&lt;br /&gt;
&lt;br /&gt;
Reboot the pi&lt;br /&gt;
  sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create user accounts ==&lt;br /&gt;
&lt;br /&gt;
After reboot, login as user &#039;&#039;pi&#039;&#039; and create an account to run RMS and an account for yourself. You could also use the &#039;&#039;pi&#039;&#039; account, but using non-default usernames is a best (security) practise.&lt;br /&gt;
  sudo useradd -m [your name] -g pi -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin&lt;br /&gt;
  sudo passwd [yourname]&lt;br /&gt;
  sudo echo [yourname] ALL=(ALL) NOPASSWD: ALL &amp;gt; /etc/sudoers.d/011_user_nopasswd&lt;br /&gt;
  sudo useradd -m rms&lt;br /&gt;
  sudo passwd -l rms&lt;br /&gt;
&lt;br /&gt;
Now you have an account on your name equal to the &#039;&#039;pi&#039;&#039; account and a locked &#039;&#039;rms&#039;&#039; account. we don’t need interactive logon for &#039;&#039;rms&#039;&#039; so blocking it is a wise thing to do.&lt;br /&gt;
&lt;br /&gt;
Now log out of the Pi and login under your own account. Then do:&lt;br /&gt;
  sudo passwd -l pi&lt;br /&gt;
&lt;br /&gt;
By default the &#039;&#039;/tmp&#039;&#039; directory is used for temporary file storage. This directory is located in the working memory of the Pi and not on disk. As such, there is not enough space available in this directory to do the installation. So we need to use another location. &lt;br /&gt;
&lt;br /&gt;
Become user &#039;&#039;rms&#039;&#039; and use another directory for temporary file storage:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  mkdir tmp&lt;br /&gt;
  echo export TMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  echo export TEMP=/home/rms/tmp &amp;gt;&amp;gt; .profile&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Install packages ==&lt;br /&gt;
Before installing any new packages lets first make sure all current software is up to date&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
The first command updates the copy of the package list and the second upgrades any outdated packages (The -y options means you wont have to confirm the upgrade). It is a wise thing to do this at least on a weekly basis.&lt;br /&gt;
&lt;br /&gt;
Next install additional packages which are needed by RMS. This command will install even mopre packages that you specify. This is because some packages depend on others. And some packages won&#039;t be installed, because they are already present.&lt;br /&gt;
  sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 g++ g++-10 gcc-10 gcc-10-base gcc-7-base gcc-8-base gcc-9-base gfortran gfortran-10 libgstreamer-opencv1.0-0 python3-opencv python3-opencv-apps  ros-opencv-apps opencv-data opencv-doc libopencv* python3-setuptools python3-scipy cython3 cython3-dbg python3-pytest-cython python3-astropy* python3-paramiko python3-matplotlib* libcfitsio9 libwcs7 python3-pyqtgraph python3-git python3-pil git git-man wxpython-tools wx3.0-headers wx-common python3-wxgtk4.0 libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libwxbase3.0-dev libwxbase3.0-0v5 screen python3-six python3-numpy python3-imageio libgstreamer-plugins-base1.0-dev libwebkit2gtk-4.0-dev libwebkit2gtk-4.0-37 dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev  libnotify-dev freeglut3 freeglut3-dev libghc-gtk3-dev python-tk gstreamer1.0-tools gstreamer1.0-plugins-base-apps gstreamer1.0-rtsp gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-python3-plugin-loader gstreamer1.0-opencv gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-plugins-rtp gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
Some of the later tasks also require a Rust compiler. This is not available in the Raspbian package repository and needs to be installed by hand in the &#039;&#039;rms&#039;&#039; account.&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
  curl https://sh.rustup.rs -sSf | sh&lt;br /&gt;
&lt;br /&gt;
And proceed with installation. Verify correct installation with:&lt;br /&gt;
  sudo -i -u rms rustc --version&lt;br /&gt;
&lt;br /&gt;
While you are here download the RMS software as well:&lt;br /&gt;
  mkdir Desktop (might already exist)&lt;br /&gt;
  mkdir source&lt;br /&gt;
  cd source&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
and exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Finally, install the Python virtual environment tool with:&lt;br /&gt;
  sudo pip3 install virtualenv&lt;br /&gt;
&lt;br /&gt;
== Create the virtual Python environment for RMS ==&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; (you can exit the user &#039;&#039;rms&#039;&#039; with the command &#039;&#039;exit&#039;&#039;)&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Create the virtual environment:&lt;br /&gt;
  cd ~&lt;br /&gt;
  virtualenv vRMS&lt;br /&gt;
&lt;br /&gt;
Activate the virtual environment:&lt;br /&gt;
  source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
And activate it on re-login:&lt;br /&gt;
  echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
  echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Now install the nescessary Python modules. This takes a while:&lt;br /&gt;
  pip3 install -U pip setuptools&lt;br /&gt;
  pip3 install Pillow&lt;br /&gt;
  pip3 install gitpython cython pyephem astropy paramiko&lt;br /&gt;
  pip3 install matplotlib&lt;br /&gt;
  pip3 install imreg_dft&lt;br /&gt;
  pip3 install configparser==4.0.2&lt;br /&gt;
  pip3 install numpy==1.23.5&lt;br /&gt;
  pip3 install imageio==2.6.1&lt;br /&gt;
  pip3 install scipy==1.6.0&lt;br /&gt;
  pip3 install pyfits&lt;br /&gt;
  pip3 install pyqtgraph&lt;br /&gt;
  pip3 install pyqt5 --config-settings --confirm-license= --verbose&lt;br /&gt;
  pip3 install opencv-python&lt;br /&gt;
&lt;br /&gt;
And exit the &#039;&#039;rms&#039;&#039; account:&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
== Setting up RMS ==&lt;br /&gt;
&lt;br /&gt;
Become the user &#039;&#039;rms&#039;&#039; with:&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
  git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
  git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ready the RMS software with (you should already be in the directory &#039;&#039;/source/RMS&#039;&#039;):&lt;br /&gt;
  python setup.py install&lt;br /&gt;
  ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
Now find your coordinates on the globe. Your location needs to be known very accurately (to 5 decimal places). Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory.&lt;br /&gt;
  nano .config&lt;br /&gt;
&lt;br /&gt;
Also, change the configuration of the camera.&lt;br /&gt;
&lt;br /&gt;
Now run RMS for the first time.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet. Request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Start again when you have your Station-ID in your config file.&lt;br /&gt;
&lt;br /&gt;
When RMS runs successfully, stop RMS. In the next chapter a script will be created to automatically start and update RMS and restart RMS when it is not running for some reason.&lt;br /&gt;
&lt;br /&gt;
Exit the &#039;&#039;rms&#039;&#039; account&lt;br /&gt;
&lt;br /&gt;
== Create startscripts to run RMS ==&lt;br /&gt;
&lt;br /&gt;
Create a script to (re-)start RMS automatically. Create a new script file by doing:&lt;br /&gt;
  sudo nano /usr/local/bin/RMS.sh&lt;br /&gt;
&lt;br /&gt;
and put the following contents in it and save:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  MYHOME=/home/rms&lt;br /&gt;
  RESTART=/tmp/RESTART_RMS&lt;br /&gt;
  STARTAT=/tmp/START_RMS&lt;br /&gt;
  # Set environment variables&lt;br /&gt;
  export HOME=${MYHOME}&lt;br /&gt;
  export PATH=${MYHOME}/vRMS/bin:${MYHOME}/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
  source ${MYHOME}/vRMS/bin/activate&lt;br /&gt;
  # Check if FirstRun is running and start if not&lt;br /&gt;
  ps -ef | grep -v grep | grep RMS_FirstRun.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  if [ $? -eq 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    # Check if restart token is set&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      # Nicely kill FirstRun first&lt;br /&gt;
      FRPID=`ps -ef | grep -v grep | grep -vi screen | grep RMS_FirstRun.sh | head -n1 | tr -s &#039; &#039; | cut -f 2 -d &#039; &#039;`&lt;br /&gt;
      kill -11 $FRPID&lt;br /&gt;
      echo $FRPID &amp;gt; ${STARTAT}&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
      # Will be restarted at the next run&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    date &amp;gt; ${STARTAT}&lt;br /&gt;
    screen -d -m ${MYHOME}/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
    if [ -f ${RESTART} ]&lt;br /&gt;
    then&lt;br /&gt;
      rm ${RESTART}&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Raspbian is running a program named &#039;&#039;cron&#039;&#039; to execute tasks at certain times. The script above needs to be started every 10 minutes. That way RMS is (re-)started automatically. By creating the file &#039;&#039;/tmp/RESTART_RMS&#039;&#039; RMS can be stopped and restarted 10 minutes later. The effect of this is that RMS is updated.&lt;br /&gt;
  sudo nano /etc/crontab&lt;br /&gt;
&lt;br /&gt;
And add the following lines before the last line:&lt;br /&gt;
  */10 *  * * *   rms /usr/local/bin/RMS.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
  22 12   * * *   rms touch /tmp/RESTART_RMS&lt;br /&gt;
&lt;br /&gt;
This will run the script as user RMS.&lt;br /&gt;
&lt;br /&gt;
If you want to see what the script is doing, you can attach your session to it.&lt;br /&gt;
&lt;br /&gt;
First become the user &#039;&#039;rms&#039;&#039;&lt;br /&gt;
  sudo su - rms&lt;br /&gt;
&lt;br /&gt;
The attach your session by issuing the command:&lt;br /&gt;
  screen -r&lt;br /&gt;
&lt;br /&gt;
If you want to exit press ctrl-a and then d. Then exit the user &#039;&#039;rms&#039;&#039; with &#039;&#039;exit&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installing CMN Binviewer ==&lt;br /&gt;
To view the binary files of RMS you can use the Binviewer program from the Croation Meteor Network. Best practise is to install this under your normal user account (&#039;&#039;[Yourname]&#039;&#039;). In the default Raspbian installation you have read access to the files of other users. If you want to open files you can browse to /home/rms/RMS_data. Since data is read only, you run no risk of disturbing your RMS installation. You need to run the graphic desktop environment for this though. Alternatively you can setup the Binviewer on another computer and transfer the files there. If you want to run Samba to get the files from the Raspberry, be careful though. RMS may store over 5000 files in one directory. Samba will create a heavy system load when opening the directories. It is better to copy the files locally using secure copy (&#039;&#039;scp&#039;&#039;). If you want to install CMN Binviewer locally (not on the Raspberry) then look here: [https://github.com/CroatianMeteorNetwork/cmn_binviewer]&lt;br /&gt;
&lt;br /&gt;
To install on the Rasberry under your own account, first log in. Then do:&lt;br /&gt;
  git clone https://github.com/CroatianMeteorNetwork/cmn_binviewer.git&lt;br /&gt;
  virtualenv -p python3 ~/vBinviewer&lt;br /&gt;
  source ~/vBinviewer/bin/activate&lt;br /&gt;
  cd cmn_binviewer&lt;br /&gt;
  pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
Then create the startscript for CMN Binviewer:&lt;br /&gt;
  sudo nano ~/vBinviewer/CMN_Binviewer&lt;br /&gt;
&lt;br /&gt;
And paste these contents in it:&lt;br /&gt;
  #!/usr/bin/bash&lt;br /&gt;
  source ~/vBinviewer/bin/activate  &lt;br /&gt;
  cd ~/source/cmn_binviewer&lt;br /&gt;
  python CMN_binViewer.py&lt;br /&gt;
&lt;br /&gt;
And to create a link to the script from the Desktop:&lt;br /&gt;
  ln -s ~/vBinviewer/CMN_Binviewer ~/Desktop/CMN_Binviewer&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=696</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=696"/>
		<updated>2024-05-14T18:18:29Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
 rmslog = lxterminal -e &amp;quot;tail -f /home/rms/RMS_data/logs/RMS_FirstRun.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The first command starts RMS RMS as a background task every time the Pi is restarted. The second command displays the log file in realtime in a window on the desktop. &lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session using the &#039;&#039;screen&#039;&#039; command as shown below. You won&#039;t see anything on the display, but if you press Ctrl-C then wait about thirty seconds and then press &amp;lt;Enter&amp;gt;, and you should see the &#039;&#039;screen&#039;&#039; session terminate. &lt;br /&gt;
 screen -r&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=695</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=695"/>
		<updated>2024-05-14T18:16:57Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
 rmslog = lxterminal -e &amp;quot;tail -f /home/rms/RMS_data/logs/RMS_FirstRun.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The first command starts RMS RMS as a background task every time the Pi is restarted. The second command displays the log file in realtime in a window on the desktop. &lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. Wait about thirty seconds and then press &amp;lt;Enter&amp;gt;, and you should see the &#039;&#039;screen&#039;&#039; session terminate. You won&#039;t see any output onscreen. &lt;br /&gt;
&lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
 &amp;lt;wait 30s&amp;gt;&lt;br /&gt;
 &amp;lt;Press Enter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=694</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=694"/>
		<updated>2024-05-14T16:40:49Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Stopping RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
There will be two current logfiles, &#039;&#039;RMS_FirstRun.log&#039;&#039; containing the output of the FirstRun script, and the normal RMS log.&lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if RMS is waiting for dusk to fall, you might not see any output onscreen. However after a few seconds, the &#039;&#039;screen&#039;&#039; sesion will terminate indicating that RMS has shut down. &lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=693</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=693"/>
		<updated>2024-05-14T16:39:53Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Autostart RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
There will be two current logfiles, &#039;&#039;RMS_FirstRun.log&#039;&#039; containing the output of the FirstRun script, and the normal RMS log.&lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=692</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=692"/>
		<updated>2024-05-14T16:29:48Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Autostart RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/RMS_FirstRun.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
Each time the system is restarted, a &#039;&#039;restart.log&#039;&#039; file will be created capturing any messages or errors generated during the RMS refresh and update process.&lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=691</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=691"/>
		<updated>2024-05-14T16:29:09Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Autostart RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = screen -dm bash -c &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/restart.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
Each time the system is restarted, a &#039;&#039;restart.log&#039;&#039; file will be created capturing any messages or errors generated during the RMS refresh and update process.&lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=690</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=690"/>
		<updated>2024-05-14T16:27:24Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Stopping RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = /ussr/bin/screen -d -m &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/restart.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
Each time the system is restarted, a &#039;&#039;restart.log&#039;&#039; file will be created capturing any messages or errors generated during the RMS refresh and update process. &lt;br /&gt;
&lt;br /&gt;
== Stopping RMS ==&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=689</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=689"/>
		<updated>2024-05-14T16:25:00Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Configure the Operating System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev screen&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = /ussr/bin/screen -d -m &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/restart.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
Each time the system is restarted, a &#039;&#039;restart.log&#039;&#039; file will be created capturing any messages or errors generated during the RMS refresh and update process. &lt;br /&gt;
&lt;br /&gt;
=== Stopping RMS ===&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=688</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=688"/>
		<updated>2024-05-14T16:24:42Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Autostart RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = /ussr/bin/screen -d -m &amp;quot;/home/rms/source/RMS/Scripts/RMS_FirstRun.sh  &amp;gt; /home/rms/RMS_data/logs/restart.log 2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;. &lt;br /&gt;
Each time the system is restarted, a &#039;&#039;restart.log&#039;&#039; file will be created capturing any messages or errors generated during the RMS refresh and update process. &lt;br /&gt;
&lt;br /&gt;
=== Stopping RMS ===&lt;br /&gt;
Connect to the session with screen, then press Ctrl-C to stop RMS. &lt;br /&gt;
 screen -r&lt;br /&gt;
 &amp;lt;Press Ctrl-C&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restart RMS afterwards, just reboot the pi.&lt;br /&gt;
&lt;br /&gt;
if you want to stop RMS from running at all, comment out two autostart lines in &#039;&#039;wayfire.ini&#039;&#039; by adding a &#039;&#039;#&#039;&#039; at the start of the line.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=687</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=687"/>
		<updated>2024-05-14T15:40:19Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Autostart RMS ==&lt;br /&gt;
We want RMS to automatically start whenever the Pi is restarted. To do this edit &#039;&#039;$HOME/.config/wayfire.ini&#039;&#039;:&lt;br /&gt;
 nano $HOME/.config/wayfire.ini&lt;br /&gt;
&lt;br /&gt;
Go to the bottom of the file and add these two lines:&lt;br /&gt;
 [autostart]&lt;br /&gt;
 rms = /home/rms/source/RMS/Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
RMS will then start as a background task every time the Pi is restarted. You can check on its status by examining the log files in &#039;&#039;~/RMS_data/logs&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=686</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=686"/>
		<updated>2024-05-14T15:12:25Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Direct Camera connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
and add this text at the bottom: &lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the config file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We also need to set a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connection&#039;s name is. We&#039;re lookgin for the ethernet type:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Now plug the camera into the Pi’s ethernet interface, and reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following commands:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return a trip-time, and the second should show the camera&#039;s IP address in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=685</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=685"/>
		<updated>2024-05-14T15:08:52Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: all of the commands shown below must be run in a Terminal window or ssh session&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We need to add a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connections name is:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* test Plug the camera into the Pi’s ethernet interface, and check that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
Then reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return some times, and the second should show the camera in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=684</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=684"/>
		<updated>2024-05-14T15:07:54Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Configure RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time using the command below. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps.&lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We need to add a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connections name is:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* test Plug the camera into the Pi’s ethernet interface, and check that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
Then reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return some times, and the second should show the camera in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=683</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=683"/>
		<updated>2024-05-14T15:06:55Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Install RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the RMS application:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time while the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We need to add a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connections name is:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* test Plug the camera into the Pi’s ethernet interface, and check that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
Then reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return some times, and the second should show the camera in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=682</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=682"/>
		<updated>2024-05-14T15:05:24Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Direct Camera connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step, only required if you prefer to connect the camera directly to the Pi&#039;s ethernet port.  The simplest approach is to connect the camera to your router. However, if you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. &lt;br /&gt;
&lt;br /&gt;
If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
* Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* We need to add a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connections name is:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set the ethernet port to a fixed address:&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
* We must also add a route to ethernet port. Do do this edit &#039;&#039;rc.local&#039;&#039;&lt;br /&gt;
 sudo nano /etc/rc.local&lt;br /&gt;
then just above the last line, add&lt;br /&gt;
 sudo route add -net 192.168.42.0 netmask 255.255.255.0 metric 100 dev eth0&lt;br /&gt;
&lt;br /&gt;
* Finally, the DHCP server will try to run before the ethernet interface is up which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
* test Plug the camera into the Pi’s ethernet interface, and check that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
Then reboot to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
* To check, run the following:&lt;br /&gt;
 ping -c 1 192.168.42.10&lt;br /&gt;
 arp -a&lt;br /&gt;
The first should return some times, and the second should show the camera in a list of conections:&lt;br /&gt;
 ? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
 sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&#039;&#039;&#039;Note that if you unplug the ethernet cable, you will need to reboot to regain camera connection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=681</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=681"/>
		<updated>2024-05-14T14:16:39Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Direct Camera connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step. &#039;&#039;&#039;Currently not working as expected on Bookworm&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The simplest approach is to connect the camera to your router. However, ff you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
*First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. We need to add a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connections name is:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set it to the required fixed address&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=680</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=680"/>
		<updated>2024-05-14T13:48:19Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=Installing_a_camera_into_the_position install your camera outdoors]&#039;&#039;&#039;, then wait for a clear night to &#039;&#039;&#039;[https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask make a mask and calibrate the field of view]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
&lt;br /&gt;
This is an optional step. I do not think it works on Bookworm. &lt;br /&gt;
&lt;br /&gt;
The simplest approach is to connect the camera to your router. However, ff you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
*First, install the DHCP server - it&#039;ll fail to start, don&#039;t worry - thats normal!&lt;br /&gt;
 sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Edit the DHCP configuration file:&lt;br /&gt;
 sudo nano /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
    interface eth0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. We need to add a fixed address for the Pi. Bookworm is using Networkmanager, so we must use that to configure the ethernet port:&lt;br /&gt;
** First, check what the connections name is:&lt;br /&gt;
 nmcli c&lt;br /&gt;
  NAME                UUID                                  TYPE      DEVICE&lt;br /&gt;
  preconfigured       137ea6e2-d8a3-43a3-9a6c-0d601193ec3a  wifi      wlan0&lt;br /&gt;
  lo                  c504c605-679b-4ea3-be4d-45f22e606dcb  loopback  lo&lt;br /&gt;
  Wired connection 1  7e2afc3b-b0e9-3399-9a93-ad18501176c5  ethernet  --&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now, set it to the required fixed address&lt;br /&gt;
 sudo nmcli c mod &amp;quot;Wired connection 1&amp;quot; ipv4.addresses 192.168.42.1/32 ipv4.method manual&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=679</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=679"/>
		<updated>2024-05-14T12:43:24Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
 sudo apt-get install -y chrony&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you should reboot the pi, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, RMS on Bookworm can connect to any camera attached to your network. This is the simplest way. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section. If you&#039;re happy using a connection via your router, plug the camera in and find its IP address as explained [https://globalmeteornetwork.org/wiki/index.php?title=Focusing_a_camera_and_the_first_tests#Find_its_IP_Address here]. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Edit the configuraton file&lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
** Fnd your latitude, longitude and elevation above sea level. These need to be known to 5 decimal places for Meteor Science so use a GPS or an accurate map. Be careful to enter longitude as negative if west of Greenwich, and note you must enter decimals not minutes and seconds. For example 1 degree 18 minutes 12 seconds West would be entered as -1.30333.&lt;br /&gt;
** If you already have a &#039;&#039;stationID&#039;&#039; you can add this to the config file too. &lt;br /&gt;
** Finally, find the &#039;&#039;device:&#039;&#039; line in the file and update it to contain your camera&#039;s IP address. &lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Job done ==&lt;br /&gt;
Thats it, RMS should now be working. hopefully, during the configuraton steps above you sent your SSH key and location details to the network coordinator who will add your station to the GMN network, and you can now wait for a clear night to make a detection mask calibrate the field of view. That&#039;s covered in a different article [https://globalmeteornetwork.org/wiki/index.php?title=The_last_steps#Making_a_detection_mask here]. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
The simplest approach is to connect the camera to your router. However, ff you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=678</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=678"/>
		<updated>2024-05-14T12:29:14Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you reboot the pi to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, Bookworm can connect to any camera attached to your network. So, for testing you should be able to plug the camera into your router and supply power to it. If you prefer to connect the camera directly to the Pi, jump ahead to [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm#Direct_Camera_connection this] section.&lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a stationID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
The simplest approach is to connect the camera to your router. However, ff you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=677</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=677"/>
		<updated>2024-05-14T12:28:11Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you reboot the pi to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, Bookworm can connect to any camera attached to your network. So, for testing you should be able to plug the camera into your router and supply power to it. If you prefer to connect the camera directly to the Pi, jump ahead to [#Connecting_a_Camera this] section.&lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a stationID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Direct Camera connection ==&lt;br /&gt;
The simplest approach is to connect the camera to your router. However, ff you have no wired network available you could connect the camera to the Raspberry directly and then connect the Raspberry Pi to your network over Wifi. If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=676</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=676"/>
		<updated>2024-05-14T12:26:53Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you reboot the pi to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Connect a Camera ==&lt;br /&gt;
Out-of-the box, Bookworm can connect to any camera attached to your network. So, for testing you should be able to plug the camera into your router and supply power to it. If you prefer to connect the camera directly to the Pi, jump ahead to [#Connecting_a_Camera this] section.&lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a stationID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
== Connecting a Camera ==&lt;br /&gt;
The simplest approach is to connect the camera to your router. However, ff you have no wired network available you could connect the camera to the Raspberry directy and then connect the Raspberry to the main network over Wifi. If you want to do this, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
1. First, install the DHCP server:&lt;br /&gt;
  sudo apt-get install -y isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
2. Edit the DHCP configuration file:&lt;br /&gt;
  sudo nano /etc/dhcp/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
We need to add a fixed address for the camera, so append this at the end of the file:&lt;br /&gt;
&lt;br /&gt;
  subnet 192.168.42.0 netmask 255.255.255.0 {&lt;br /&gt;
    authoritative;&lt;br /&gt;
    pool {&lt;br /&gt;
  	  range 192.168.42.10 192.168.42.10;&lt;br /&gt;
    }&lt;br /&gt;
    option broadcast-address 192.168.42.255;&lt;br /&gt;
    default-lease-time 600;&lt;br /&gt;
    max-lease-time 7200;&lt;br /&gt;
    option domain-name &amp;quot;local&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This will assign a fixed IP address 192.168.42.10 to the camera.&lt;br /&gt;
&lt;br /&gt;
3. Edit the DCHP server configuration so it will only listen to the ethernet interface. Open the file:&lt;br /&gt;
  sudo nano /etc/default/isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
and edit the line with INTERFACESv4 by adding &amp;quot;eth0&amp;quot;:&lt;br /&gt;
  INTERFACESv4=&amp;quot;eth0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Next, we need to give the ethernet interface the proper subnet. Open:&lt;br /&gt;
  sudo nano /etc/dhcpcd.conf&lt;br /&gt;
&lt;br /&gt;
and add this at the end of the file:&lt;br /&gt;
  interface eth0&lt;br /&gt;
  static ip_address=192.168.42.1/24&lt;br /&gt;
&lt;br /&gt;
This will give the ethernet interface a static IP address.&lt;br /&gt;
&lt;br /&gt;
5. Finally, the DHCP server will try to run before the ethernet interface is up, which will produce an error. We can tell it to try again, until it is successful. Run the following commands:&lt;br /&gt;
  sudo cp /run/systemd/generator.late/isc-dhcp-server.service /etc/systemd/system&lt;br /&gt;
  sudo nano /etc/systemd/system/isc-dhcp-server.service&lt;br /&gt;
&lt;br /&gt;
Edit the [Service] section:&lt;br /&gt;
* set &#039;&#039;Restart=on-failure&#039;&#039;&lt;br /&gt;
* add &#039;&#039;RestartSec=5&#039;&#039; to instruct systemd to wait 5 seconds before restarting a failed service.&lt;br /&gt;
&lt;br /&gt;
Add the [Install] section which is missing, and add the follow line to it:&lt;br /&gt;
  WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Run the commands:&lt;br /&gt;
  sudo systemctl daemon-reload&lt;br /&gt;
  sudo systemctl disable isc-dhcp-server&lt;br /&gt;
  sudo systemctl enable isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
6. Reboot so to test the configuration:&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&lt;br /&gt;
Make sure the camera is connected to the Pi’s ethernet interface, and that a fixed IP address of 192.168.42.10 is set on the camera.&lt;br /&gt;
&lt;br /&gt;
7. Now, if you run &#039;&#039;arp -a&#039;&#039;, you will be able to see the IP camera:&lt;br /&gt;
? (192.168.42.10) at 00:12:16:b6:79:db [ether] on eth0&lt;br /&gt;
If not, check the status of the DHCP server service:&lt;br /&gt;
  sudo service isc-dhcp-server status&lt;br /&gt;
&lt;br /&gt;
The service should be active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=675</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=675"/>
		<updated>2024-05-14T12:05:10Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Placeholder for Bookworm instructions. More to follow but as a start:&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you reboot the pi to pick up all the changes you&#039;ve just made. &lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Login to the Pi again and download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a stationID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=674</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=674"/>
		<updated>2024-05-14T12:02:37Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Placeholder for Bookworm instructions. More to follow but as a start:&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS and ensure its always active:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
 echo source ~/vRMS/bin/activate &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo cd ~/source/RMS &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
We recommend at this point you logout and log back in, to pick up all the changes you&#039;ve just made. &lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* Download the code:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment, if not already active. The prompt will change to &#039;&#039;(vRMS) rms@yourhostname:&#039;&#039; if its active.&lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up Python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use. This may take some time as the app is built and installed. &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a stationID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun this step. &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run an automated update and installation step. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=673</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=673"/>
		<updated>2024-05-14T11:56:31Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Placeholder for Bookworm instructions. More to follow but as a start:&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* First download RMS:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Activate the python environment. You must do this before using any RMS utility. &lt;br /&gt;
 source ~/vRMS/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Now, set up python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software for use: &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a station ID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun &#039;&#039;./Scripts/RMS_FirstRun.sh;; &lt;br /&gt;
&lt;br /&gt;
* Once you&#039;ve finished the configuration steps, RMS will run some automated update, compliation and installation steps. Eventually, you&#039;ll see a message that RMS is starting up. Let it start up to ensure there are no problems, then once its either waiting for night, or already capturing images, stop it by pressing Ctrl-C and letting the script run its tidy-up steps. &lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=672</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=672"/>
		<updated>2024-05-14T11:52:30Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Placeholder for Bookworm instructions. More to follow but as a start:&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** If you know your station ID set the Hostname to match it but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** otherwise set the hostname to be something you&#039;ll remember&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the rms user you created above and run the following commands to install the system libraries required by RMS. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;br /&gt;
&lt;br /&gt;
* now create a python environment for RMS:&lt;br /&gt;
 python -m venv ~/vRMS&lt;br /&gt;
&lt;br /&gt;
== Install RMS ==&lt;br /&gt;
* First download RMS:&lt;br /&gt;
 mkdir ~/source&lt;br /&gt;
 cd ~/source&lt;br /&gt;
 git clone https://github.com/CroatianMeteorNetwork/RMS.git&lt;br /&gt;
&lt;br /&gt;
* Now, set up python in the environment we just created:&lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 pip install -U pip setuptools&lt;br /&gt;
 pip install -r requirements.txt&lt;br /&gt;
&lt;br /&gt;
* Configure git so that the script can stash changes in the repo and update the code:&lt;br /&gt;
 git config --global user.email &amp;quot;rms@gmn.uwo.ca&amp;quot;&lt;br /&gt;
 git config --global user.name &amp;quot;RMS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ready the RMS software: &lt;br /&gt;
 cd ~/source/RMS&lt;br /&gt;
 python setup.py install&lt;br /&gt;
 ./Scripts/GenerateDesktopLinks.sh&lt;br /&gt;
&lt;br /&gt;
== Configure RMS == &lt;br /&gt;
* Fnd your coordinates on the globe. Your location needs to be known very accurately to 5 decimal places for Meteor Science. Use GPS for this or an accurate map. Put this information in the &#039;&#039;.config&#039;&#039; file in the RMS directory. If you already have a station ID you can add this to the config file too. &lt;br /&gt;
 nano ~/source/RMS/.config&lt;br /&gt;
&lt;br /&gt;
* Now run RMS for the first time. You will be asked to confirm a number of system settings. You don&#039;t need to expand the filesystem so you can skip over that step.&lt;br /&gt;
  ./Scripts/RMS_FirstRun.sh&lt;br /&gt;
&lt;br /&gt;
NB: If you have no station-ID yet, request one with the instructions shown on screen and then abort the script by pressing the Ctrl-C key combination. Once you have your station ID, add it into the &#039;&#039;.config&#039;&#039; file and rerun &#039;&#039;./Scripts/RMS_FirstRun.sh;; &lt;br /&gt;
&lt;br /&gt;
* When RMS runs successfully, stop stop it by pressing Ctrl-C and letting the script complete. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(more to come)&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=671</id>
		<title>Pi4 with Raspbian Bookworm</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Pi4_with_Raspbian_Bookworm&amp;diff=671"/>
		<updated>2024-05-14T11:38:32Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: Created page with &amp;quot; Placeholder for Bookworm instructions. More to follow but as a start:  == Burn an SD Card == * Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/ * Run the tool, select your model of Pi, then select Bookworm 64-bit.  * Select your SD card and click Next and then Edit Settings. Make the following changes: ** set the Hostname to match your camera id but in lower case. For example if your station is UK1234 set the hostname to uk1234 ** Set the user...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Placeholder for Bookworm instructions. More to follow but as a start:&lt;br /&gt;
&lt;br /&gt;
== Burn an SD Card ==&lt;br /&gt;
* Download the Raspberry Pi Imager from https://www.raspberrypi.com/software/&lt;br /&gt;
* Run the tool, select your model of Pi, then select Bookworm 64-bit. &lt;br /&gt;
* Select your SD card and click Next and then Edit Settings. Make the following changes:&lt;br /&gt;
** set the Hostname to match your camera id but in lower case. For example if your station is UK1234 set the hostname to uk1234&lt;br /&gt;
** Set the username to rms and enter a password of your choice. Remember this!&lt;br /&gt;
** Add your Wifi network details&lt;br /&gt;
** Set the locale to UTC and the keyboard layout to match your keyboard. &lt;br /&gt;
** save settings, and on the next screen click Yes and then Yes again&lt;br /&gt;
* Once the image has been burned, insert the SD card into your Pi power it on. The Pi will reboot a few times as it sets things up.&lt;br /&gt;
&lt;br /&gt;
== Configure the Operating System ==&lt;br /&gt;
* Login as the RMS user and run the following commands. &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y cmake git mplayer python3 python3-dev python3-tk python3-pip libblas-dev libatlas-base-dev liblapack-dev at-spi2-core libopencv-dev libffi-dev libssl-dev socat ntp libxml2-dev libxslt-dev imagemagick ffmpeg qt5-qmake python3-pyqt5 libqt5gstreamer-1.0-0 python3-pyqt5.qtmultimedia qtgstreamer-plugins-qt5 libqt5gstreamer-dev libqt5gstreamerui-1.0-0 libqt5gstreamerutils-1.0-0 python3-opencv libcairo2-dev&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install -y gobject-introspection libgirepository1.0-dev&lt;br /&gt;
 sudo apt-get install -y gstreamer1.0-libav gstreamer1.0-plugins-bad&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support&amp;diff=670</id>
		<title>Advanced RMS installations and Multi-camera support</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support&amp;diff=670"/>
		<updated>2024-05-14T11:28:50Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: /* Install for Raspberry Pi 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [ADVANCED] Advanced RMS installations and Multi-camera support  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions below:&lt;br /&gt;
&lt;br /&gt;
== Install for Raspberry Pi 4 ==&lt;br /&gt;
&lt;br /&gt;
[Not recommended, please use the image [https://globalmeteornetwork.org/wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi here].] In case you still insist, detailed instructions are here:&lt;br /&gt;
* [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bookworm Bookworm] &lt;br /&gt;
* [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bullseye Bullseye] &lt;br /&gt;
&lt;br /&gt;
We no longer recommend Buster, but if you still want to try it, you&#039;ll find the legacy instructions [https://docs.google.com/document/d/19ImeNqBTD1ml2iisp5y7CjDrRV33wBeF9rtx3mIVjh4/edit?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
== Install for Linux ==&lt;br /&gt;
&lt;br /&gt;
Detailed instructions [https://globalmeteornetwork.org/wiki/index.php?title=Installation_for_Linux here]&lt;br /&gt;
&lt;br /&gt;
== Linux GUI and multi-Camera support ==&lt;br /&gt;
&lt;br /&gt;
Detailed instructions [https://docs.google.com/document/d/e/2PACX-1vTh_CtwxKu3_vxB6YpEoctLpsn5-v677qJgWsYi6gEr_QKacrfrfIz4lFM1l-CZO86t1HwFfk3P5Nb6/pub here]&lt;br /&gt;
&lt;br /&gt;
== Installation for Windows ==&lt;br /&gt;
Data capture does not work under windows. However you can use the other tools on your PC, where its much quicker to run SkyFit2 to calibrate your camera to the sky, or you want to use BatchFFToImage to convert data to jpeg format to share on Social Media. &lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;[[Windows_Installation|here]]&#039;&#039;&#039; for detailed instructions. The instructions were tested on Windows 10 64-bit, but should work on any Windows version where git and Anaconda are available. &lt;br /&gt;
&lt;br /&gt;
Aside: If you are a Windows whizz, please feel free to investigate why data capture doesn&#039;t work!&lt;br /&gt;
&lt;br /&gt;
== Installation for MacOS ==&lt;br /&gt;
As with Windows, installation for MacOS is useful if you want to analyse the data offline. If you do want to install it, please follow the instructions &#039;&#039;&#039;[[MacOS_Install | here]]&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
	<entry>
		<id>https://globalmeteornetwork.org//wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support&amp;diff=669</id>
		<title>Advanced RMS installations and Multi-camera support</title>
		<link rel="alternate" type="text/html" href="https://globalmeteornetwork.org//wiki/index.php?title=Advanced_RMS_installations_and_Multi-camera_support&amp;diff=669"/>
		<updated>2024-05-14T11:23:01Z</updated>

		<summary type="html">&lt;p&gt;Markmcintyre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [ADVANCED] Advanced RMS installations and Multi-camera support  =&lt;br /&gt;
&#039;&#039;&#039; This is for users who wish to perform more advanced tasks, if you have gone for the previous section, do not continue with the sections below &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: if you&#039;re setting up a Raspberry Pi you should use the prebuilt image as this comes with all necessary software installed and is ready to use.&#039;&#039;&#039;. If you really really &#039;&#039;&#039;really&#039;&#039;&#039; do want to install on the RPi from scratch, you can follow the instructions below:&lt;br /&gt;
&lt;br /&gt;
== Install for Raspberry Pi 4 ==&lt;br /&gt;
&lt;br /&gt;
[Not recommended, please use the image [https://globalmeteornetwork.org/wiki/index.php?title=Installing_OS_onto_a_Raspberry_Pi here].] In case you still insist, detailed instructions [https://globalmeteornetwork.org/wiki/index.php?title=Pi4_with_Raspbian_Bullseye here] for Bullseye and [https://docs.google.com/document/d/19ImeNqBTD1ml2iisp5y7CjDrRV33wBeF9rtx3mIVjh4/edit?usp=sharing here] for Buster (though we do not recommend Buster). Instructions for Bookworm are coming soon. &lt;br /&gt;
&lt;br /&gt;
== Install for Linux ==&lt;br /&gt;
&lt;br /&gt;
Detailed instructions [https://globalmeteornetwork.org/wiki/index.php?title=Installation_for_Linux here]&lt;br /&gt;
&lt;br /&gt;
== Linux GUI and multi-Camera support ==&lt;br /&gt;
&lt;br /&gt;
Detailed instructions [https://docs.google.com/document/d/e/2PACX-1vTh_CtwxKu3_vxB6YpEoctLpsn5-v677qJgWsYi6gEr_QKacrfrfIz4lFM1l-CZO86t1HwFfk3P5Nb6/pub here]&lt;br /&gt;
&lt;br /&gt;
== Installation for Windows ==&lt;br /&gt;
Data capture does not work under windows. However you can use the other tools on your PC, where its much quicker to run SkyFit2 to calibrate your camera to the sky, or you want to use BatchFFToImage to convert data to jpeg format to share on Social Media. &lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;[[Windows_Installation|here]]&#039;&#039;&#039; for detailed instructions. The instructions were tested on Windows 10 64-bit, but should work on any Windows version where git and Anaconda are available. &lt;br /&gt;
&lt;br /&gt;
Aside: If you are a Windows whizz, please feel free to investigate why data capture doesn&#039;t work!&lt;br /&gt;
&lt;br /&gt;
== Installation for MacOS ==&lt;br /&gt;
As with Windows, installation for MacOS is useful if you want to analyse the data offline. If you do want to install it, please follow the instructions &#039;&#039;&#039;[[MacOS_Install | here]]&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Markmcintyre</name></author>
	</entry>
</feed>