Tôi đã được chỉ định một dự án để chạy một máy bán hàng tự động sử dụng giao thức MDB để thanh toán và tôi đã hoàn thành dự án bằng Pi Zero (Orange).
Tôi đã thử các thư viện nối tiếp phần mềm và phần cứng 9 bit và gặp vấn đề về thời gian trên Pi Zero. Giao tiếp nối tiếp 9 bit của MDB đã trở thành một nỗi đau. Giao thức MDB cho biết các thiết bị ngoại vi nên có dung sai% 5 cho thời gian giao tiếp nối tiếp, tuy nhiên các nhà cung cấp ngoại vi khác nhau có dung sai khác nhau, không tuân thủ giao thức MDB. Khi bạn nghĩ rằng bạn đã hoàn thành giao tiếp nối tiếp nhưng thử ngoại vi thanh toán của nhà cung cấp khác, thì nó không hoạt động. Vì vậy, đừng dựa vào bảng dữ liệu giao thức MDB. Tôi phát ốm và mệt mỏi khi triển khai bộ điều khiển MDB cho các nhà cung cấp lỗi. Ngoài ra, một số thiết bị ngoại vi có thể thoát dòng điện quá mức từ các chân uart trong quá trình khởi động bên trong của chúng và có thể làm hỏng lớp giao tiếp nối tiếp của bạn. Vì vậy, tốt hơn bạn nên sử dụng một sự trừu tượng. Bộ ghép nối vẫn ổn nhưng tôi vẫn không Chúng tôi khuyên bạn nên xử lý giao tiếp nối tiếp MDB bằng Pi Zero. Cách tốt hơn là sử dụng cách tiếp cận lớp giữa bằng cách sử dụng một AVR.
Thay vì sử dụng Uart trên Pi Zero để liên lạc MDB, tôi đã sử dụng Atmega328 AVR để xử lý MDB, bỏ phiếu, v.v. Atmega328 điều khiển các thiết bị ngoại vi MDB bằng thư viện Phần mềm nối tiếp và gửi dữ liệu có thể đọc được của con người đến Pi Zero trên phần cứng nối tiếp. Tất cả các sơ đồ điện tử, nguồn và hình ảnh Pi Zero Armbian, mã Python cho các hoạt động bán hàng tự động đều có sẵn tại đây:
http://eliverse.com/content/vendiverse/
Bạn có thể kiểm tra trang wiki để biết thêm chi tiết về điều khiển động cơ, cảm biến phân phối sản phẩm, bộ làm mát và màn hình LCD ký tự. Đây là một dự án điều khiển máy bán hàng tự động hoàn chỉnh và nó đang được sử dụng bởi một vài nhà sản xuất máy bán hàng tự động.