janlahmann / rasqberry Goto Github PK
View Code? Open in Web Editor NEWThe RasQberry project: Exploring Quantum Computing and Qiskit with a Raspberry Pi and a 3D Printer
License: Apache License 2.0
The RasQberry project: Exploring Quantum Computing and Qiskit with a Raspberry Pi and a 3D Printer
License: Apache License 2.0
add / check bluetooth icon in desktop panel
Add a folder (e.g. .rasqberry-config) that contains config infos (e.g. number of LEDs/Qubits, GPIO pin used for LED strip, etc).
Add menu option in rasqberry-config to set and/or modify these settings.
port Quantum Coin Game to RasQberry with TFT display
see https://github.com/JanLahmann/Fun-with-Quantum#1-quantum-coin-game
Currently it uses Jupyter notebooks and Rise, which doesn't fit well to the small 4'' touchscreen
A RasQberry that is using a pre-built SD card image will be "offline" - and not be able to connect a new (local) WLAN.
A description is needed how to re-gain access to the RasQberry, using the touch display only (and no ssh access, etc).
The Raspberry Tie 5 & 16 demos need to be configured to work while the raspberry pi is offline.
hi Jan.I have problem to the rasqberry automatic setup.https://github.com/JanLahmann/RasQberry The hat sense line is not activated when I do the automatic setups on this link. When I install it manually, I add it into the dtoverlay = rpi-sense config.txt file, then it work. I guess it throws a lot of things into the config file in auto setup and doesn't see or open because the files are conflicting
config-new.txt
add airplane mode that disables all WLAN/bluetooth/etc transmission
Starting point might be:
https://raspberrytips.com/disable-wifi-raspberry-pi/
during the installation procedure, bluetooth apparently becomes broken.
Identify where this happens and if possible resolve this issue so that bluetooth can be used (BT keyboard, etc)
New demos can be made available through desktop icons.
Currently the *.desktop files are copied only during initial setup (do_rasqberry_enable_desktop_vnc() in rasqberry-config).
This needs to be changed in order to add new desktop icons (and new quantum demos) automatically, as they become available in the RasQberry GitHub repo.
There seems to be a regression that prevents from building (installing) retworkx, which is a prerequisite for qiskit-aer.
Error message includes:
error[E0599]: no method named `into_pyarray` found for struct `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>` in the current scope
--> src/lib.rs:965:12
|
965 | Ok(mat.into_pyarray(py).into())
| ^^^^^^^^^^^^ method not found in `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>`
error[E0599]: no method named `into_pyarray` found for struct `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>` in the current scope
--> src/lib.rs:1033:12
|
1033 | Ok(mat.into_pyarray(py).into())
| ^^^^^^^^^^^^ method not found in `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>`
error[E0599]: no method named `into_pyarray` found for struct `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>` in the current scope
--> src/lib.rs:1210:15
|
1210 | Ok(matrix.into_pyarray(py).into())
| ^^^^^^^^^^^^ method not found in `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>`
error[E0599]: no method named `into_pyarray` found for struct `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>` in the current scope
--> src/lib.rs:1281:15
|
1281 | Ok(matrix.into_pyarray(py).into())
| ^^^^^^^^^^^^ method not found in `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>`
error[E0599]: no method named `into_pyarray` found for struct `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>` in the current scope
--> src/lib.rs:1325:15
|
1325 | Ok(matrix.into_pyarray(py).into())
| ^^^^^^^^^^^^ method not found in `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>`
error[E0599]: no method named `into_pyarray` found for struct `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>` in the current scope
--> src/lib.rs:1369:15
|
1369 | Ok(matrix.into_pyarray(py).into())
| ^^^^^^^^^^^^ method not found in `ndarray::ArrayBase<ndarray::OwnedRepr<f64>, ndarray::Dim<[usize; 2]>>`
warning: unused import: `numpy::IntoPyArray`
--> src/lib.rs:46:5
|
46 | use numpy::IntoPyArray;
| ^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
error: aborting due to 6 previous errors; 1 warning emitted
For more information about this error, try `rustc --explain E0599`.
error: could not compile `retworkx`.
Caused by:
process didn't exit successfully: `rustc --crate-name retworkx --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type cdylib --emit=dep-info,link -C opt-level=3 -Cembed-bitcode=no --crate-type cdylib -C metadata=1783fb939be7d2a2 --out-dir /tmp/pip-install-n4j5bmkj/retworkx/target/release/deps -L dependency=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps --extern fixedbitset=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/libfixedbitset-8edc2f44888dd404.rlib --extern hashbrown=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/libhashbrown-e871ca93b6602654.rlib --extern ndarray=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/libndarray-0279521f60f59892.rlib --extern numpy=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/libnumpy-036b558da4386307.rlib --extern petgraph=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/libpetgraph-341750ba0c549f5f.rlib --extern pyo3=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/libpyo3-433b4e8f96059ecb.rlib --extern rand=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/librand-25ede033d8300093.rlib --extern rand_pcg=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/librand_pcg-2d514a663aaff7b3.rlib --extern rayon=/tmp/pip-install-n4j5bmkj/retworkx/target/release/deps/librayon-ee7c0f42709cf910.rlib` (exit code: 1)
cargo rustc --lib --manifest-path Cargo.toml --features pyo3/extension-module --release --verbose -- --crate-type cdylib
error: cargo failed with code: 101
----------------------------------------
ERROR: Failed building wheel for retworkx
Failed to build retworkx
ERROR: Could not build wheels for retworkx which use PEP 517 and cannot be installed directly
Cleanup code
simplify raspberry-config and other scripts, etc
create subdirectories to artwork, scripts, config files, etc
add "standard" WLAN config (guest WLAN)
check if connected to LAN/WLAN, if not create WLAN AP so that incoming connection is possible for further configuration.
Starting point might be:
https://www.raspberryconnect.com/projects/65-raspberrypi-hotspot-accesspoints/158-raspberry-pi-auto-wifi-hotspot-switch-direct-connection
https://raspberrypi.stackexchange.com/questions/7857/how-can-i-check-for-internet-connection-before-running-etc-rc-local-script
Currently, the RasQ-LED demo can only be started from touch screen desktop.
Thus, it cannot be used on a system without a touch display.
Add an option to start this demo in rasqberry-config.
install times could be significantly reduced if binary whl files for retworkx and qiskit-aer would be available on piwheels.org.
See https://www.piwheels.org/project/retworkx/ and https://www.piwheels.org/project/qiskit-aer/
detect if TFT display or SenseHAT are attached
detect which TFT display model is attached
enable (and/or autostart) corresponding demos for display or SenseHAT
Starting points might be:
Detect HDMI display: tvservice -s -n -l
Detect SenseHAT: /proc/device-tree/hat/
remove Qiskit 0.25.4 from rasqbery-config
keep Qiskit 0.25 (which will install the latest release in 0.25)
provide option to attach an external HDMI display (in addition to the TFT touch display)
Displays (4'' TFT and external display) should be mirrored
port GHZ Game to RasQberry with TFT display
see https://github.com/JanLahmann/Fun-with-Quantum#4-ghz-game-under-development
Currently it uses Jupyter notebooks and Rise, which doesn't fit well to the small 4'' touchscreen
rasqberry-config option "bloch autostart"requires several reboots and then manually selecting this menu option again.
This reboot cycle should be automated (using crontab and @reboot statements; similar to the SenseHAT setup)
Add an (orchestration) application that get auto started when booting with SenseHAT attached.
This app let's then choose which demos to start (Raspberry-Tie or Qrasp).
After finishing the demo, control returns to that orchestration app.
Splash Screen instead of boot log messages
While Qiskit installs on the Raspberry, it would be good to make sure it also executes correctly.
Some of the Qiskit elements have regression tests.
These need to be executed on Raspberry and the output analysed.
adding a pre-installed / pre-configured RasQberry SD card image to the Raspberry Pi Imager, https://www.raspberrypi.org/software/
per default, two VNC screens should be made available:
Disable chromium fullscreen message.
See: https://www.reddit.com/r/Agario/comments/4aj631/tip_how_to_remove_the_full_screen_message_on/
create desktop icon to access https://github.com/JanLahmann/Fun-with-Quantum (usable via VNC)
Currently the API Token is stored in multiple locations. This should be changed to just one.
I found 12 led ring and bought them.how do i connect this to raspberry. Could you tell and show us step by step how to connect with visuals?and what is the run command?
3D model provides new option with closed backplane (i.e. no display) and mount for Raspberry Pi Zero.
"display" will be the LED ring with 12 LEDs.
Define and implement a standard demo (maybe similar to Raspberry-Tie) for this setup.
create menu for touch display
to select demos, key settings, etc
develop and implement concept for RasQberry with SenseHAT
what quantum demos to use
how to control the system with the joystick (select/start/stop the demos; shutdown RasQberry)
...
Could you please add a hint how to get the "IBM Q Experience access token" to be entered in rasqberry-config?
enable nightly regression tests for Qiskit install
with email notification in case of issues/failures
evaluate if Kaleidoscope would fit RasQberry.
If yes, add Kaleidoscope
See https://nonhermitian.org/kaleido/
design & implement a twitter monitor app for the 4'' display
or similar ideas
Disable under voltage warning
See: https://scribles.net/lightning-bolt-under-voltage-warning-on-raspberry-pi/
probably use ansible, similar to how https://wiki.satnogs.org/SatNOGS_Client_Setup works
Starting point might be:
https://raspberry-projects.com/pi/pi-operating-systems/raspbian/keyboards/matchbox-touchscreen-keyboard-2
http://florence.sourceforge.net/english/index.html
https://raspberrytips.com/install-virtual-keyboard-raspberry-pi/
https://pimylifeup.com/raspberry-pi-on-screen-keyboard/
Qiskit can also be installed on the 64 bit version of Raspberry Pi OS, https://downloads.raspberrypi.org/raspios_arm64/images/
Need to check if all other components work as well on 64 bit OS.
Then decide whether to make 64 bit the default for RasQberry.
pip3 install --upgrade pip
sudo apt -y install libhdf5-dev llvm-9
LLVM_CONFIG=llvm-config-9 pip3 install llvmlite
pip3 install --prefer-binary qiskit[all]==0.26.*
pip3 list | grep qiskit
port Quantum Coin Game to RasQberry with TFT display
see https://github.com/JanLahmann/Fun-with-Quantum#1-quantum-coin-game
Currently it uses Jupyter notebooks and Rise, which doesn't fit well to the small 4'' touchscreen
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.