-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: UMass 2022 Pico W Template #8
feat: UMass 2022 Pico W Template #8
Conversation
@JeremyTubongbanua I've just made this a draft, as at first glance it's nowhere near ready to be merged. There are a bunch of key boilerplate files being overwritten or deleted. I see another copy of the firmware, which just got purged in #7 |
@cpswan I added back the repository files- initially, I removed them so the students wouldn't be overwhelmed but I guess these are important as a company. Also removed the .uf2 and link them to our fork of micropython. Actually- let me go through it once more. |
I would like to merge this just to get the students up and running with the Pico Ws. Lots of prerequisites for the students to go through before they can start sending data between atSigns:
I will look to make another PR after this one with more at_client characteristics like an P.S. I've figured out how to get the Big thank you to @realvarx for doing lots of the heavy lifting. |
Everything looks nice at first glance, but be careful with RSA signing part. The privateKey was stored in the JSON (and retrieved in one concrete step, making the user re-launch the Pico W) because the device would run out of memory (it wasn't possible to stablish an SSL connection to the dess after retrieving the DER parameters). I didnt spend too much time trying to solve this, I just decided to do it this way so I could keep making progress. If that happens to you in the future, it could be for this reason. |
This is being merged into a separate branch
- What I did
Wrote a README.md to get them started
Created
lib/at_client/
containing:aes.py
<- AES CTRat_utils.py
<- atSign util functionsio_util.py
<- settings reading, key reading, functionskeys_util.py
<- hasinitialize_keys(atSign:str)
to init_pem.json
rsa private key filesremote_secondary.py
<- hasconnect_to_secondary()
andsend_verb()
functionsmain2.py
run this file to 1. connect to Internet, 2. initialize keys, 3. find secondary, 4. listen/emit data via raw atProtocol and unencrypted data- How I did it
- How to verify it
- Description for the changelog
Update: Nov 12,
uasn1.py
is leaking a few hex bytes into other sequences which made decoding a public rsa key a little trickier than it should've been. See theget_public_n_e
function inpem_service.py
README.md
with more detail to get their Picos ready for running atPlatform code.