DO GIVE A FULL READ TO THIS ARTICLE (I was messing around, and I do not want people to miss anything important)
I started to develop this project when I was in my 11th grade, as being from a very small town of India (Sambalpur my town) it was hard to gather sufficient information required to build an electronic device and how to program it. Although the internet helped a lot and somehow I was able to build a very low-quality prototype. I and my team thought to make a fully working MVP(Minimum Viable Product) of our Idea and then run a crowdfunding campaign on Indiegogo but our country was unlisted from Indiegogo's website, and honestly, we were also not capable enough to build our own ARM board for Pocket_Data_Transferer.
So, now we are here making this idea Open-Source and we hope that someone or a group might develop this project into a fully scalable product or MVP which can be launched in the market.
This prototype had only two buttons, one to toggle and the other one to press OK.
That was the time I drew circuits bare hand, this was the diagram.
The next prototype was as follows-
Although this also went out to be a waste, as there was a small issue with the form factor, and I was confused with the battery placement stuff.
But then we thought to change the form factor of the device, which resulted as follows:
But this also worked out to be lame, as we still need to connect a USB HUB using an OTG cable or we need to manually solder any Generic USB-HUB in order to use the device. So, again I surfed the internet and this time a got to know about a fe1.1 IC which is used to develop USB HUBS(2.0), using this particular IC, I built a new circuit, as by this time I learned how to design Circuits using software and bought my first PCB's from JLCPCB.
FEATURES OF THIS PROTOTYPE
ADDED and WORKING | NOT YET ADDED (WIP)
|
VIEW | SAVE
TRANSFER | DELETE
--NULL-- | FORMAT
--NULL-- | WIRELESS FILE SHARING
--NULL-- | ENCRYPTING FILES
--NULL-- | DRIVE SYNC
--NULL-- | FULL SECURITY SCAN
:) laughs in pain
The new PCB contains a small USB HUB and two USB-PORTS(2.0):-
You can watch the complete demonstration down here;
_______________________________________________________________
OK enough with the story stuff let's talk that what are the problems I haven't solved and what is the code ( I wrote the code 2 years back so do not expect any masterpiece down here), there are lots and lots of bugs in the code.
NOTE
And the WiringPi library has some issues, as after the new update it's not working, I am talking about the version I used. ( http://wiringpi.com/news/ you can have a look here)
STEP 1 :
Follow the schematics and build the circuit, here are the files
You can find the Greber file in the attachments.
STEP 2:
https://drive.google.com/file/d/1hdp48ul0cMeeejLh6RW0F_mrmxN_Umnn/view?usp=sharing download this DISK IMAGE FILE and load it to your raspberry pi
I prefer Balena Etcher: https://www.balena.io/
Remember to use a 16GB SD CARD
the password for user "pi" in my clone OS is "ashfaque"
STEP 3 :
Now you have two options, first one is to run a headless startup using the"wpa_supplicant" file editing it with your wifi credentials; and then saving it in the boot directory of your sd card.
BUT I RECOMMEND using an HDMI display and then start the raspberry pi zero, in my pre-saved OS the SSH is enabled, but you need to connect it with your wifi, after connecting your raspberry pi to the wif network get the IP address of your R-PI device.
download putty https://www.putty.org/ and using the IP connect your pc with RPI.
after that, you will find a terminal window asking for credentials-
If you are using my cloned OS then the password is "ashfaque".
STEP3:
navigate to the version_1 or version_2 folder by using the change directory command:
cd version_1
or
cd version_2
REMEMBER DO NOT UPDATE YOUR RASPBERRY PI IF USING MY CLONED OS
If you do not see version_1 or version_2 named folders then download it using git, to do that just enter the following command:
git clone https://github.com/ashfaquekhan/version_1.git
or
git clone https://github.com/ashfaquekhan/version_2.git
You can use the PDT-PYTHON folder for reference; as all the tests and trials are saved in that folder.
I would suggest downloading version one (version_1) if you are going with my instructions.
That's all for now, navigate to either version_1 or version_2 folder and run the main code, to do so just type the following command
cd version_1
python main_menu.py
or
cd version_2
python main_menu.py
and you will see the screen lighting up.
_______________________________________________________________
Let's discuss the problems with the code:Button Mapping:
Iam using the code from version one for reference:
You can know more about that issue over here
As I said above the select and delete button arent working we cannot use that so, I am using the enter button for VIEWING operations in the PDT (Pocket Data Transferer)
In version_1, you will be able to VIEW subfolders and then return and also use the BACK button to go back.
But you won't be able to enter subfolders while using the TRANSFER operation due to two reasons:
1 > the SELECT button doesn't work, so you can either navigate or click on a folder to open it or click on it to perform a TRANSFER operation.
2 > In version_1 I haven't written the code to navigate into subfolders while performing a TRANSFER operation LOL.
Let's have a look at version_2 :
Although the version_1 and version_2 are pretty much the same there is a slight difference in the INTERFACE and in version_2 I have added the navigation code for navigating into subfolders while performing a TRANSFER.
Basically, showlist_transfer.py is the new program in version_2, all the orange marked codes are not yet fully developed.
WHAT, I AM NOT A GOOD CODER and I wrote this stuff in my 11th grade so do not expect the code to be too good, I didn't even know python back than; I just read basic examples and made the whole thing using very few of the features of python.
π M I N I M A L I S T I C π
But you guys can add a new button using a different GPIO port and make the whole thing.
STILL, I WOULD DEEPLY REQUEST ANYONE WHO IS READING THIS, PLEASE CONTRIBUTE TO THIS PROJECT
BUILD IT BETTER
Comments