Showing posts with label DSN. Show all posts
Showing posts with label DSN. Show all posts

Wednesday, December 28, 2022

Season greetings and end of the year update

As 2022 ends I wanted to provide a year end update and a short summary of what transpired during this year, both for the IPN DTN Lab project and IPNSIG in general.

The prototype lab grew from a handful of nodes to about 50 now, of which 30 are running NASA’s JPL ION 4.1.1, two are under test with NASA’s GRC HDTN, and another two are under test with ยตD3TN

IPN DTN Lab Network Topology

One node running Linux on a mini PC is 100% dedicated to monitor the network and serves as a workstation running WireShark for deep packet inspection.

Zabbix Network Monitoring

It is still very much work in progress, for additional visualization of telemetry data and monitoring, and some control functions, one of the Ubuntu Linux nodes is running NASA’s AMES OpenMCT, which is a web-based framework for mission operations data visualization currently in use by various NASA missions.

NASA OpenMCT

One of the challenges for the project, besides being 100% self-funded, was procurement of additional Single Board Computers like the Raspberry Pi that are in very high demand and very low supply.

I was able to find several suitable alternatives at reasonable prices, some with better performance and specs than the Raspberry Pi.

Various SBCs under test

This triggered a sub-project to test and evaluate building ION on up to 16 different platforms, which generated some contribution to fix a runtime issue when building it for 64 bits platforms. I posted a pair of articles with the specs of the Single Board Computers I tested.


Platforms tested with NASA's JPL ION 4.1.1

I started some preliminary tests with various wireless technologies such as LoRa, Cellular LTE/5G like T-Mobile's Edge, and low orbit nano satellites like Swarm M138 (now owned by SpaceX.) I will have more activity on this front during 2023.

Wireless modems for IoT

During 2022 I focused mostly on getting the hardware platform stable and functional, including putting together several designs with Lego for the mockups that have embedded several of the DTN nodes. 

NASA DSN Control Room Lego Mockup

I still need to gather some additional parts to put together a model of the Orion capsule.

Very impressed and happy with the successful completion of the Artemis 1 mission, it provided many additional images from all angles of the capsule, so I may review a little bit the design before getting the missing parts, but it looks something like this (I’m using Brick Link Studio for the designs.)

NASA Orion Capsule Lego Mockup

I already have a Raspberry Pi Zero 2W running ION that will get embedded in the model and on which I will venture to build another open source package from NASA called Core Flight System or cFS.


I hope to have enough time and inspiration to create more documentation, post additional articles and videos, and be available for open discussions about these technologies on a new reddit community I created recently.

Several presentations, videos, and a draft paper are also in the works.

It has been also a very busy year for the Internet Society’s InterPlanetary Networking Interest Group also known as IPNSIG. From its inception in the late 1990’s it grew up to more than 900 members around the world.


Like many organizations like Internet Society, ICANN, IETF, etc, IPNSIG is also evolving, during this year we transitioned from being a Special Interest Group to an Internet Society Chapter, the Internet Society Inter Planetary Chapter, first of its kind. In 2022 IPNSIG was incorporated as a non-profit organization in the State of California. For now, we will keep the IPNSIG acronym and domain name. 


We have several working groups, since last year I’ve been involved with the PWG or Pilot Projects Working group where we are working on various R&D projects to contribute to the development and testing of the technologies associated with Delay/Disruption Tolerant Networking and its applications both terrestrial and in space.


We had a great deal of engagement with NASA and ESA, expecting more interaction with other space agencies. At one of the workshops gathering several NASA research centers working on DTN, we were able to present IPNSIG and our projects group.

Click on image for YouTube full video

We are very much engaged with the Internet Engineering Task Force or IETF, I’m an active member of the DTN Working Group where we work on the standardization of the associated protocols related to DTN.

IPNSIG has been also very active organizing several webinars that we call the “IPNSIG Academy.” This initiative was launched in February, we already had eight talks. One of our webinars was dedicated to present some of the activities of the Pilot Projects Working Group.

Click on image for full video

There is much more to share, one of our members (Scott Johnson) added IPv6 as an option for transport layers for ION, another of our members (Samo Grasic) developed a preliminary Convergence Layer Adapter for the use of a LoRa modem via UART. 

We are also cooperating with the original author of ION, former NASA JPL Engineer Scott Burleigh in the coming release early next year of IONe (e for experimental) as a separate code branch, with several improvement, fixes and add-ons. 

Alberto Montilla and Alberto Montilla Ochoa of SPATIAM Corporation developed a DTN Manager being used to manage an IPNSIG Test Network, and performed interoperability tests between ION and ยตD3TN.


At IPNSIG we expect a very active 2023 as we are starting to engage with various initiatives in the private, commercial and educational sectors.

Now that I have a more stable hardware platform for the lab, one of my resolutions for 2023 is to invest more time on mission simulation, documentation and reach out.


That is all for now, hoping you had a Merry Christmas and wishing y’all a great start for 2023.

Until the next intergalactic communication …

Cheers
Jorge


Monday, March 7, 2022

DTN-IPN New Node - Moon Rover

I was looking at my inventory of development boards and found that I had an extra Raspberry Pi 3B with the camera module. The camera is one of the early versions featuring the OV5647 image sensor.

I thought "I can use this setup to create another DTN node for the Lab prototype, what about a Moon Rover ?"

At first, I was thinking just to keep it in its original plastic case but then I realized that we have a bunch of Legos that our kids are not using anymore, so how about putting something together that looks like a lunar vehicle and can fit the Raspberry Pi, the camera and why not some lights and a battery.



I always had fun building stuff with Legos, I remember when I was a toddler in Argentina my Grandma use to take often to the “Rasti Club,” Rasti was another brand of building blocks available in Argentina at the time. I spent hours and hours building all sorts of gizmos.

Obviously, this model is just something I put together with what I had at hand, nothing that looks like a real rover or some of the Lunar vehicles under development like the JAXA/Toyota “Lunar Cruiser” for the Artemis mission.

Picture Courtesy of JAXA

I was thinking about using one of the Lego design tools, but that was an overkill for this project. This could be a good idea for putting a contest or challenge together for students to design a Lego Lunar Rover that can accommodate the Raspberry and the camera. 

A Raspberry Pi Zero W 2 would also work and will take less space, but they are currently in short supply.

Let’s get started, with the parts I was able to “recycle” I started building sort of the chassis for the rover, taking in account of the size of the Raspberry Pi and enough height to fit the camera.

I 3D printed a pair of blocks with the NASA worm logo, the model file for it is available here.

I had to figure how to wire the Neopixels for which I used two channels on the Raspberry Pi, one on GPIO10, and the other one on GPIO21. Since I didn’t want to overload the onboard 3.3V power supply on the Raspberry Pi, I added an LDO regulator (Microchip TC1262) to get the 3.3V for the Neopixels directly from the 5V power supply.
I used wirewrap wire, and two small pieces of prototype pcb.


Quick test to confirm everything was working and putting the Raspberry Pi in place, connecting the camera flat cable and closing up.


Here is how the complete model looks from the left side


Right side look



Front with the camera module visible behind a transparent Lego block


And the top, with a last-minute addition, a volt meter to measure input/battery voltage.


Connecting via VNC. Only thing that I was required to do to make it work was to enable the Camera interface with raspi-config, after that took the very first picture using raspistill.


My plan is to write a script using Pyion to wait for a command to start taking pictures, store them in some spool directory and then wait for another command to start transferring them to a DTN relay with final destination, one of the nodes that have a TFT LCD display to show the images captured by the rover. All transfers using NASA’s JPL ION implementation of Bundle Protocols.

And of course, there is a video with a walk through and the blinking lights ๐Ÿ˜Š

Once again if you are interested to learn more about this project, DTN and InterPlanetary Networking you can join the Facebook Group I created, and you can also join IPNSIG (ISOC InterPlanetary Networking Interest Group.)

 

Cheers
Jorge

Originally published on 2/8/2022

DTN-IPN R&D Lab Prototype Update

Happy New Year!!

Since my previous article on December 2021, I made some changes to the original design of the IPN-DTN Lab prototype that continues to be very much a work in progress project.


From the previous version I added two more nodes running on a Raspberry Pi Zero W 2, I expect in the future to add more as they become available, they are currently in short supply and are hard to procure.

There is a Raspberry Pi 3B+ with the sense hat also running Raspi OS and ION 4.1.1 that I use for testing code. And another two Raspberry Pi 3B+ running a complete different implementation of DTN called IBR-DTN from a University in Germany (more about it soon.)

I rearranged the nodes on the breadboards, and now the one implementing some of the functions of a Mission Control Center (MCC) has more displays, taking advantage of an eight channel I2C switch from Texas Instruments, the TCA9548A. With this switch it is possible to drive the seven 128x32 OLED displays that are associated with this node using a single I2C channel.

Also, on the MCC node I have now a 2” 320x240 IPS TFT LCD display, it uses the ST7789 TFT driver that can display full 18-bit color. The display module is connected to the SPI interface on the Raspberry Pi.



There is a new node implemented with a Raspberry Pi Zero W 2, I named it NASA-JPL, this node features also a 1.14” 240x135 TFT Color LCD mounted in portrait mode using the SPI interface of the Raspberry Pi.

The idea is that at some moment those displays will show images transferred over DTN using Bundle Protocol, like pictures taking by a rover on the surface of the Moon  (future node to be added using a Raspberry Pi with a camera), transmitted to a local relay node and from it through the Space Network to a ground station, and then through the Ground Network to a screen on JPL and/or MCC, all using Bundle Protocol.


On the previous version I was using independent power supplies for the Raspberry Pis, wiring was getting ugly and complicated. I replaced them all by single 5.1V 15A power supply, I had to put together some sort of power distribution adapter going to each of the breadboards where the Raspberry Pi are mounted.

If you have a good eye you will notice some LDO Voltage Regulators to step down from the 5V power supply to 3.3V required by some parts, particularly displays.

While on some nodes I can use the 3.3V generated by the Raspberry Pi Zero W2s, with the alphanumeric LED displays and too many OLED I was drawing too much power, then now some nodes have their own 3.3V LDO regulator.

I keep “the lab” running 24/7 monitoring power and some key signals, so far it has been reliable after I fixed the power distribution issues.

I took a Hack RF SDR I had in a box to check on the transmission signal levels of the LoRa modules, they are as expected centered on 915MHz, while they are low power modules, the signal can reach a hundred feet or more with a data rate of about 500bps, almost three times faster than Voyager 1, well the thing is 23+ Billion Kilometers away ๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€.



On the software side I have a lot of work to do. Now I have all nodes running the same version of Raspi OS, they all have Circuit Python installed, NASA JPL ION 4.1.1 and all have Pyion 4.1 which is a Python programming interface for ION, so putting together a message to be sent over the DTN is simple as

import pyion 

proxy = pyion.get_bp_proxy(1)
proxy.bp_attach()

with proxy.bp_open('ipn:82.1') as eid:
    eid.bp_send('ipn:82.1', b'hello')


There is obviously and updated “Blinking Lights” video showing all the nodes running and some of the VNC screens from nodes, showing for example real time data from a GPS module, the message exchanges via LoRa, etc.


I started documenting the project, here is a diagram showing the current network topology configuration, this diagram does not represent the DTN communications topology.

I’m also drafting a paper and an introductory presentation about space communications evolution and DTN-IPN.


Now that I have a stable hardware and basic software platform running, I will be working in the actual DTN topology. This is very much a learning process for me as well, so I will be using a very interesting tool developed by the MITRE Corporation for an ION training course from NASA JPL.


I’m pretty sure that very soon I will be able to share some updates of what is happening at the InterPlanetary Networking Special Interest Group (IPNSIG), meanwhile if you want to learn more and join the conversation I have created a Facebook Group you can join.

Until the next inter planetary trip …

Cheers
Jorge

Originally published on 1/27/2022 here


Friday, February 25, 2022

DTN-IPN R&D Lab Prototype Intro

 


Image Courtesy of NASA

Since my early days tinkering with electronics, I always believed that one of the best ways of learning is by doing, getting your hands busy. My Mom (RIP) probably didn’t appreciate me taking appliances apart but over my long career in electronics, computer science and networking, I learned a lot by doing, and of course, reading any related materials, and during the past few years taking online classes.

I’m a byproduct of the Apollo era, I grew up fascinated with the space program, and my eyes were glued to our black and white TV when in 1969 Neil Armstrong set foot on the Moon. Yes, I dreamed about becoming an astronaut someday, but more than that, it cemented my inspiration to have a career in technology.

But this article is not about me, you can find more about me here.

Being a Pioneer Member of Internet Society (ISOC,) and my interest in learning more about space communications, during 2021 I joined ISOC’s Inter Planetary Networking Special Interest Group (IPNSIG.) 

After some exchanges with Vint Cerf, watching his TEDx presentation from 10 years ago about his vision and work on an Interplanetary Internet, participating in several remote conferences and webinars, reading a lot about it, and researching the evolution of new technologies for Delay-Tolerant Networking (DTN – RFC4838) and Bundle Protocols (RFC5050,) it got me thinking:

What can I do to learn more and share what I learn about these new evolving technologies?” … 

I came up with:

How about a low cost platform where we can tinker, experiment and do some development about objects communicating using DTN?” … 

One interesting fact about DTN is that it not only provides a way for networking in space, there are other applications that can take advantage of it, like IoT, battlefield communications, and many other scenarios where communications could be disrupted or delayed for various reasons .

While this is something that have been on the works for some time, it is still nascent technology, with lots of space for learning and experimenting, huge commercial and STEM educational opportunities, etc. NASA is already using it on an experimental basis for its Interplanetary Overlay Network (ION.)

Based on my previous experience developing embedded systems with microcontrollers and single board computers (SBC,) and inspired by NASA’s Artemis Mission to get back to the Moon, I started putting together what I call the IPN DTN Lab Protoype.

IPN DTN R&D Lab Prototype

The IPN DTN Lab is a collection of various SBCs (Raspberry Pi Zero W2) and ESP32-S2 Dev Kits, combined with different type of displays, a couple low power LoRa transceivers, a simple GPS receiver, etc. The idea is that the platform can be used also to learn how to interface different type of devices to each of the boards, and how to use DTN and Bundle protocols to exchange data between them.

This is very much work in progress, I just finished to put together the first complete version of the hardware with some basic code running on each of the boards, which for now are all communicating via WiFi with TCP/IP, few of them include a LoRa transceiver module for low rate and long range wireless communication.

As said before, the design is inspired on the Artemis Mission, then there are three sections, one includes various nodes representing different facilities on Earth, such as NASA’s Mission Control Center (MCC,) NASA’s Deep Space Network (DSN,) NASA’s Tracking and Data Relay Satellite network (TDRS,) etc. Also, ESA’s European Space Operations Center (ESOC,) and SpaceX CORE (Crew Operations and Resource Engineering.)

IPN DTN Lab - Earth Section

The second section represents various object that will be in Moon’s Orbit, like NASA’s multi-purpose orbital outpost Gateway, ESA’s I-Hab expansion module for Gateway, NASA’s Orion Capsule, etc.

IPN DTN Lab - Moon Orbit Section

And the third section represents various objects that will be in the Moon’s surface, such as NASA’s Lunar Ground Station (LGS,) SpaceX’s Starship Moon Lander, and JAXA’s pressurized Lunar rover being developed with Toyota aka Cruiser.

IPN DTN Lab - Moon Surface Section

All the nodes feature a small 128x32 pixels OLED display, some of them include also a pair of four-digit alphanumeric LED display, and at least one RGB LED (NeoPixel.) On this version, five of the nodes are implemented with Raspberry Pi Zero W2 boards, three of them include a low power LoRa transceiver for long distance wireless communications. One of the Raspberry Pi Zero W2 boards is interfaced with a small GPS receiver module with the option for an external antenna for better reception.

The role of each node can be changed just by software. For example, this is one of the Raspberry Pi’s getting GPS data from another node via the network.

IPN DTN Lab - MCC node screen capture

The design is completely scalable, and more nodes can be added to expand the network.

As said before this is very much work in progress. Being now the hardware development phase stable, I will be focusing on the software, bringing up the Bundle Protocols for communication, some demonstrations and documentation. 

When people ask when it will be all ready, I always use the classic response from Elon’s Musk … “Two Weeks” ๐Ÿ˜Š

I’m in the process of putting together several presentations and classes, a summary paper, various videos, etc.


I will be providing more details, and regular reports how the project progresses in future posts, stay tuned.

If you are interested to learn more about this, feel free to contact me, if you have ideas or constructive feedback feel free to leave a comment.

If you are interested in providing funding for projects like this, definitely contact me !!

Signing off for now from planet Earth

Cheers
Jorge