You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GS1_128 initiative: air, water, and barcodes shall be free #1234
a barcode solution can work even in JupyterLite: python-barcode
GS1-128 in python-barcode:
- [x] legend not to the standard, miss the '(00)' Application Identifiers highlight, to workaround
- [x] legend not as FailSafe as it could: misses the spacing on (00), for when things are to retype by handt, to workaround
- [ ] toolchain depend of a "file" step ?? documentation not clear on how to avoide this, help appreciated
- [ ] FNC1 seems pre-fixed in front of the string and sent to Code128, even if it's already pre-fixed... u'\xf1'
- [ ] propose upstream to provide patches if interested and no-one active on this
check python-barcode vs ean128 grand zebu sensei,
re-program workaround in a more "readable/universal" way: simple readable Python
# writing QRcode "de base"
# check jupyterlite ok
import micropip
await micropip.install("qrcode")
import qrcode
from IPython.display import Image, display
img = qrcode.make('artisou à croûte')
img.save("test.png")
display(Image(filename='test.png'))
QRcode reader: use opencv-python, but camera taking requires massage on Jupyterlite (but panel can do, so there is a way)
# reading QRcode
# import the opencv library
import cv2
# define a video capture object
vid = cv2.VideoCapture(0)
detector = cv2.QRCodeDetector()
while True:
# Capture the video frame by frame
ret, frame = vid.read()
data, bbox, straight_qrcode = detector.detectAndDecode(frame)
if len(data) > 0:
print(data)
# Display the resulting frame
cv2.imshow('frame', frame)
# the 'q' button is set as the
# quitting button you may use any
# desired button of your choice
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()
Activity
stonebig commentedon May 28, 2023
hum:
- [x] legend not to the standard, miss the '(00)' Application Identifiers highlight, to workaround
- [x] legend not as FailSafe as it could: misses the spacing on (00), for when things are to retype by handt, to workaround
- [ ] toolchain depend of a "file" step ?? documentation not clear on how to avoide this, help appreciated
- [ ] FNC1 seems pre-fixed in front of the string and sent to Code128, even if it's already pre-fixed...
u'\xf1'- [ ] propose upstream to provide patches if interested and no-one active on this
stonebig commentedon May 28, 2023
Phase1 progress:
[-]EAN128[/-][+]GS1_128[/+][-]GS1_128[/-][+]GS1_128 initiative[/+][-]GS1_128 initiative[/-][+]GS1_128 initiative: air, water, and barcodes shall be free[/+]stonebig commentedon May 29, 2023
phase1: QRcode , using awesome stupid simple tutorial from https://www.youtube.com/watch?v=iAAKghEiUjY&t=65s
stonebig commentedon May 29, 2023
phase2:
prefixes

Datamatrix pre-work:
norm QR_standard
https://www.swisseduc.ch/informatik/theoretische_informatik/qr_codes/docs/qr_standard.pdf

stonebig commentedon May 29, 2023
phase 2:
checking we do correct QRcode GS1
https://barcode.tec-it.com/en/GS1DigitalLink_QRCode
australia sample
shall be (01)00799439956618(200)//https:barcodeaustralia.com
stonebig commentedon May 29, 2023
phase3:
stonebig commentedon Jun 11, 2023
this blows my mind... can we dream to do it ?
8 remaining items
stonebig commentedon Dec 22, 2025
to recheck, as it may have rusted a bit