هذا هو برنامج لقراءة وكتابة البيانات على خرطوشة Stratasys Eeprom.
يمكنك استخدام هذا الرمز "لإعادة ملء" Eeprom أو إنشاء صورة Eeprom خرطوشة من نقطة الصفر.
تتطلب هذه الأداة Python 2.7.
يمكنك ببساطة تثبيت Stratatools باستخدام PIP:
$ pip2 install stratatools
أو من المصدر:
$ python2 ./setup.py build
$ python2 ./setup.py install
سوف يسحب التبعية تلقائيًا:
يجب عليك توفير نوع الماكينة (Fox ، Prodigy ، Quantum ، إلخ) و Eeprom UID ، في شكل سداسي عشري دون بادئة "0x". لاحظ أن eEprom UID لاستخدامه النهايات مع "23" (وهو رمز الأسرة لجهاز EEPROM).
$ stratatools eeprom_decode
--machine-type fox
--eeprom-uid 2362474d0100006b
cartridge_dump.bin
يجب أن يبدأ eeprom UID برمز الأسرة ، وهو شيء مثل "23" أو "B3". ثم يتبعه معرف 6 بايت ثم الانتهاء مع اختبارات.
على Linux ، هو محتوى ملف id الزائف.
إذا قمت بتقديم خيار "-D" ، فسيتم تفسير ملف الإدخال على أنه ملف تنسيق ASCII ، يحتوي على خطوط النموذج الناتج عن أمر الطابعات "ER" ، وهي:
000096: 00 00 00 00 00 00 00 00 53 54 52 41 54 41 53 59 ........STRATASY
خلاف ذلك ، يجب أن يكون ملف الإدخال ملفًا ثنائيًا.
من خلال توفير جميع المعلومات المطلوبة ، سيوفر هذا البرنامج صورة EEPROM جديدة صالحة يمكنك الكتابة إلى خرطوشة.
أولاً ، قم بإنشاء بروتو EEPROM جديد باستخدام الأمر eeprom_create .
يمكنك تخصيص أي معلمات في المثال التالي:
$ stratatools eeprom_create
--serial-number 1234.0
--material-name ABS
--manufacturing-lot 1234
--manufacturing-date "2001-01-01 01:01:01"
--use-date "2002-02-02 02:02:02"
--initial-material 11.1
--current-material 22.2
--key-fragment 4141414141414141
--version 1
--signature STRATASYS > cartridge.txt
بدلاً من ذلك ، قم بإنشاء cartridge.txt ملف نصي مع المحتوى التالي:
serial_number: 1234.0
material_name: "ABS"
manufacturing_lot: "1234"
manufacturing_date {
seconds: 1436540129
}
last_use_date {
seconds: 1436540129
}
initial_material_quantity: 42.0
current_material_quantity: 42.0
key_fragment: "4141414141414141"
version: 1
signature: "STRATASYS"
جميع التواريخ بالتنسيق الدولي: yyyy-mm-dd hh:mm:ss .
يمكنك بعد ذلك استخدام eeprom_encode لإنشاء ملف ثنائي يستخدمه الطابعة.
$ stratatools eeprom_encode
--machine-type fox
--eeprom-uid 2362474d0100006b
cartridge.txt cartridge.bin
يجب عليك توفير نوع الجهاز الصحيح و eeprom uid الصحيح.
يجب أن يبدأ eeprom UID برمز الأسرة ، وهو شيء مثل "23" أو "B3". ثم يتبعه معرف 6 بايت ثم الانتهاء مع اختبارات.
سيكون الملف الذي تم إنشاؤه 113 بايت في الحجم. يمكنك إكمال الملف بالأصفار إذا كنت ترغب في جعله طوله 512 بايت ، وحجم EEPROM المعتاد.
سيؤدي توفير خيار "-D" إلى ملف إخراج يحتوي على سلسلة من البايتات المحددة ذات المساحة المزدوجة ، المعبر عنها في سداسي عشري.
خلاف ذلك ، سيكون الإخراج ملف ثنائي.
يمكنك أيضًا تنشيط الأوامر معًا:
$ stratatools eeprom_create
--serial-number 1234.0
--material-name ABS
--manufacturing-lot 1234
--manufacturing-date "2001-01-01 01:01:01"
--use-date "2002-02-02 02:02:02"
--initial-material 11.1
--current-material 22.2
--key-fragment 4141414141414141
--version 1
--signature STRATASYS |
stratatools eeprom_encode -t fox -e 2362474d0100006b > cartridge.bin
إذا كنت تريد قائمة بجميع المواد المعروفة ، فما عليك سوى تشغيل ما يلي:
$ stratatools material --list
0 ABS
1 ABS_RED
2 ABS_GRN
[...]
استخدم هذه الأسماء عند إنشاء خرطوشة جديدة.
إذا كان لديك خطأ invalid checksum ، فلن يتمكن الرمز من فك تشفير EEPROM بشكل صحيح. تحقق من أن ملف EEPROM الخاص بك صالح ، تحقق مزدوجًا eEprom UID.
إذا كان لا يزال لا يعمل ، املأ تذكرة على جيثب.
يتوفر برنامج نصي مساعد إذا كنت ترغب في إعادة كتابة الخراطيش تلقائيًا باستخدام Raspberry Pi. سيقوم البرنامج النصي بتعيين تاريخ التصنيع على "اليوم". كما أنه سيضع عشوائيًا للرقم التسلسلي وتعيين المادة الحالية Qty على كمية المادة الأولية.
ستحتاج إلى إعداد 1 -Wire على Raspberry Pi ، انظر أدناه حول كيفية القيام بذلك.
ببساطة إعادة ملء خرطوشة ، قم بتشغيل البرنامج النصي المساعد الذي يحدد نوع الطابعة:
$ stratatools_rpi_daemon prodigy
يمكنك أيضًا توفير قالب خرطوشة:
$ stratatools_rpi_daemon --template ./abs_cartridge.txt prodigy
هذا البرنامج النصي قادر على إنشاء رمز التكوين للطابعة الخاصة بك. هناك بالفعل 3 رموز مختلفة:
نحن فقط قادرون على إنشاء رمز configuration في الوقت الحالي. يمكن لهذه الرموز فتح ميزات محددة للطابعة.
لفك تشفير رمز التكوين ، ما عليك سوى تشغيل ما يلي:
$ stratatools setupcode_decode AAAA-BBBB-CCCC-DDDD
يمكنك إنشاء رمز التكوين الخاص بك لتمكين ميزات محددة.
على سبيل المثال:
$ stratatools setupcode_create
--serial-number 1234
--system-type 900mc
--type configuration
--envelope-size large
--build-speed 1x
--material ABS-M30 NYLON PC-ABS
--version 1
سيقوم بإنشاء رمز configuration لنوع الطابعة 900mc.
للحصول على مساعدة على القيم المتاحة ، يمكنك تشغيل ما يلي:
$ stratatools setupcode_create --help
استخدم التخطيطي التالي كمرجع:
Bus pirate
grey >---+
| (connected together)
blue >---+
eeprom
+------+
orange >---| Data |
| |
black >---| Gnd |
+------+
تتوفر نصتان مسابقان للتفاعل مع buspirate.
لقراءة eeprom:
$ stratatools_bp_read /dev/ttyUSB0 eeprom.bin
لكتابة eeprom:
$ stratatools_bp_write /dev/ttyUSB0 eeprom_new.bin
استخدم التخطيطي التالي كمرجع:
Raspberry pi
5V >---+
|
4.7k Z eeprom
| +------+
GPIO4 >---+---| Data |
| |
GROUND >-------| Gnd |
+------+
ثم ستحتاج إلى تحقيق وحدات kernel 2:
$ sudo modprobe w1-gpio gpiopin=4
$ sudo modprobe w1-ds2433
قد تحتاج إلى تغيير تراكب شجرة الجهاز. قم بتحديث الملف التالي /boot/config.txt ، وأضف هذا السطر في النهاية:
dtoverlay=w1-gpio,gpiopin=4
إذا كان الكشف بطيئًا في الحافلة ، فيمكنك محاولة تقليل المهلة. قم بإنشاء الملف التالي /etc/modprobe.d/wire.conf wire.conf بما يلي:
options wire timeout=1 slave_ttl=3
يجب أن ترى الآن ظهور Eeprom الخاص بك:
$ ls -l /sys/bus/w1/devices/w1_bus_master1
23-xxxxxxxxxxxx/
[...]
لطباعة eeprom uid:
$ xxd -p /sys/bus/w1/devices/w1_bus_master1/23-xxxxxxxxxxxx/id
23xxxxxxxxxxxx
لقراءة eeprom:
$ cp /sys/bus/w1/devices/w1_bus_master1/23-xxxxxxxxxxxx/eeprom ~/eeprom.bin
لكتابة eeprom:
$ cp ~/eeprom_new.bin /sys/bus/w1/devices/w1_bus_master1/23-xxxxxxxxxxxx/eeprom
للتفاعل مع DS2432 ، ستحتاج إلى اتباع الخطوات الموجودة في هذا المشروع: https://github.com/bvanheu/ds2432-linux.
شكر خاص لمجموعة Stratahackers. بدونهم ، لا شيء مثل هذا يمكن أن يكون ممكنا. قدموا الدعم الأخلاقي والتقني!
بفضل أشانين لدعم uprint. بفضل Ajtayh على ASA و ULT1010 في SetupCode.