A good guide for granting public access to your bucket is described in this article that shows how to serve images from an S3 bucket (just like we are). To give public users the ability to access your S3 bucket using the AWS SDK, you need to set up an identity pool and create a policy allowing them read access to your bucket. You might want to upload a simple index.html file and try to load it in your browser with. The instructions are in this article:Īt this point you should be able to load a simple web site from your new bucket. I’m using the bucket name nootropicdesign.wx for mine. Now create an S3 bucket for public website hosting. Your credentials file on the Raspberry Pi ~/.aws/credentials will look like this:Īws_secret_access_key = YOUR_SECRET_ACCESS_KEYĪlso set the default region where your S3 bucket will reside in ~/.aws/config. Loading Credentials in Node.js from the Shared Credentials File These two articles show you how to get your credentials and store them for Node.js access: The scripts that run on the Raspberry Pi use some Node.js scripts and the AWS JavaScript SDK to upload to S3. There are a lot of steps to get everything set up: The scripts that run on the Raspberry Pi also use some Node.js scripts to upload to S3. It will use the AWS JavaScript SDK to make API calls to S3. Your ground station website functionality will be completely in client-side JavaScript. I resolved to automate the uploading of images to an S3 bucket and to improve upon the scripts from the Instructables article. I played around with different antennas and such, but found it tedious to always copy the images from my outdoor Raspberry Pi to my computer so I could look at them. I gave this project a try recently using this well-written Instructables article, a totally hacked-together antenna I made, and a very old rtl-sdr dongle:Īnd on my very first attempt, I decoded this image from NOAA19 as it passed over my area:įrom that moment, I was hooked. This has all gotten a lot easier with RTL-SDR dongles, more powerful Raspberry Pi computers and simpler antenna designs that get the job done. I’m not an expert in any of these areas, but the idea of receiving images directly from weather satellites as they fly overhead has intrigued me for many years.
Sometimes the emphasis is on software defined radio hardware and techniques, sometimes it’s about antenna design, or maybe the article is written by a real weather enthusiast who always use the abbreviation “wx” for weather. This type of project has been documented before. This probably isn’t the first you’ve read about using a software defined radio (SDR) to receive weather satellite images. If you have never used AWS before, I suggest you set up an account and get familiar with what S3 is. I won’t go into the details of using a Raspberry Pi for the first time - this project assumes you know your way around the Pi and are comfortable with installing software on it. This is a very long article with lots of steps, so take your time - I won’t be able to help everyone debug all their issues. The dipole antenna kit comes with 3m of RG174 coax, but I used 10 feet of RG58 coax.
You can sign up for the free tier for a year, and it’s still cheap after that.
Oh, you want a site like this, too? Full of images you decoded from space? Then let’s get started, my friend. Have a look at my AWS site that is updated automatically all day long. With this project you don’t need your own server or have to run your own website infrastructure. This project will show you how to create a fully automated ground station that will receive and decode NOAA weather satellite images and upload them to your own website served from an Amazon AWS S3 bucket.
Project source code at GitHub: wx-ground-station