为了随时能敲代码,我用树莓派手搓一台 Linux 掌上电脑

基于树莓派CM4的立创掌上通用PC:5寸MIPI触屏+4G模块的便携Linux工作站 本文详细介绍了如何基于树莓派Compute Module 4核心板,集成5寸MIPI触摸屏和4G模块,打造一款功能齐全的便携式Linux工作站。内容涵盖从硬件选型、系统烧录,到MIPI屏幕驱动安装与触摸功能配置的全过程,并探讨了其在嵌入式开发、移动调试等场景的应用潜力。 阅读详情

公众号关注 “GitHub科技”

设为 “星标”,每天带你逛 GitHub!

a6fd8c91d8f6846386ca292250b2d920.png

来自量子位

手搓一台巴掌大小Linux电脑,只需树莓派加点儿零件就行?

你没看错,有人都做出来了。

36键触控键盘,4.3英寸触摸显示屏,Linux系统,功能一应俱全,单手可握:

57b6c876255cee344ca3e4cd3e3859aa.jpeg

续航长达4小时,能外接显示器及输入设备:

2e628ff671993168a4c3c9da1ebdcab3.jpeg

目前该项目在GitHub已获星超300颗。

1d34d6f5e309d402c00136eb7f565e60.png

DIY掌上电脑,只为随时随地敲代码

谈及为什么要做掌上电脑,小哥自曝——

起初,自己只是想换掉基于Orange Pi的自制电脑,正好疫情刚爆发时,手里屯了一批树莓派RPI4,那做一台PICOmputer小型终端似乎顺理成章,平日可外接屏幕和键盘。

但他还不满意,想要重新设计键盘布局和屏幕尺寸,提升便捷性——

至于这么做的目的,他说,希望自己能在朋友家、工作室都能随时随地抄起电脑敲代码搞事情。

07665545935abfd700795f720323eec6.png

就这样,他开动了。

从零开始手搓

既然要解决「随时随地编代码」,键盘得好好设计一下。

不过,小哥此前就多次摆弄过键盘,甚至自己还设计了好几个,这回,他选择了自己涉及的一种名为Plaid(格子)的键盘。

4482bb348fcc5d51a94151e7e13f85d5.jpeg

这种键盘共4行,最多12列,键位上有一层通孔壳覆盖,键位排布跟日常电脑键盘一致。

有意思的是,整个键盘中间被一块AtMega328分隔开,让左右手各管一部分。

(AtMega328是一颗8位的精简指令型微控制器,拥有能同时写入与读取能力的闪存记忆体。)

1c249b4e4674b1c8bf825113b77b7e24.jpeg

由于小哥之前就发布过出彩的项目,一家中国公司PCBWay还免费赞助他一块键盘外壳,这位小哥在自述文件中还给了「好评」(手动狗头)。

也许你会好奇到底什么「出彩项目」?别急,文末有介绍。

d58d8c83834aacbcdddadbb6387a92fe.jpeg

接下来是OS部分。

这块掌上电脑使用了树莓派的Raspberry Pi OS,这是一种Debian通用操作系统的衍生产品。

窗口管理器选了i3,对运行资源有限的终端来说,i3更为轻巧,对各类键盘也友好。

a81f995cdb08b402266003bcbfd1dfff.png

不过i3窗口管理器经常需要多个按键组合进行操作,这在双手打字的掌机上就变得很麻烦。微信搜索公众号:Linux技术迷,回复:linux 领取资料 。

制作者在键盘中间偏下位置加入了方向键,通过键位上下左右及按下等方式来调整窗口及切换回桌面。至于改变默认窗口,则使用h、j、k、l四个键位进行指向操作。

外设连接方面。这台掌上电脑提供了HDMI接口、USB口、音频输出口及PiSugar电池的充电接口——

为让设备更薄一点,去掉了以太网插孔和一堆USB外接口。

c85f5e311f84a45dc221fb70898a3357.jpeg

最后,小哥提供了部分配件清单:

  • Raspberry Pi 3/4

  • Waveshare 4.3” DSI 显示屏

  • PiSugar 2 Plus电池

  • SD 卡

  • 键盘电路PCB 1.6mm

  • 键盘外壳PCB 1mm

  • 五向开关与橡胶帽

  • 6 x 6mm x 7mm PCB 瞬时开关

  • ……

bfeb2433164ecfd0a4a2881e802f182d.jpeg

△ 还有一只监工猫

作者更多DIY作品

值得一提的是,制作掌上电脑的这位小哥堪称DIY达人,在GitHub上还有更多作品,也正是这些玩意儿帮他收获不少关注及赞助。

比如一台GBA大小的小型计算机,获得700多颗Star:

bdb0445e2492b8344c70e37e7f63e2d1.jpeg

还有用一个台球替代普通鼠标,以「原地滚动」方式控制电脑内光标移动。

2cb1272318203698db91495e947375f2.jpeg

如想进一步了解作者本人及其项目,原链接在此:https://github.com/brickbots/HandiPi

最后问问各位——

你会期待随时随地抓起就能敲代码的电脑么?

— 完 —

欢迎大家关注

微信公众号官方矩阵

7fe9b6fa33e711021e4cc47e55652fda.png20da65da99ecdb1a4fb86180c58f837c.pngb8de8d4d08d6c6310392fd1fefa861dd.png003a254e7238541c4594f85bd8cca485.png

如何用树莓派搭建一台永久运行的个人服务器? 树莓派是什么? Raspberry Pi(中文名为树莓派,简写为 RPi,(或者 RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于 Linux。随着 Windows 10 IoT 的发布,我们也将可以用上运行 Windows 的树莓派。 自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是麻雀虽小,五脏俱全。 个人见解 用我的话理解就是树莓派就是一台主机,你可以外接显示 阅读详情

相关推荐

树莓派Linux源码配置,树莓派Linux内核编译,树莓派Linux内核更换_树莓派内核编译报错

编译完成后,可以看到源码树目录多了vmlinux这个文件,如果编译失败则没有此文件,成功后,目标zImage镜像在arch/arm/boot目录下(此步ARM架构的芯片都是类似)(vmlinux是未压缩的liunx,zImage是压缩好的liunx)。对树莓派内核源码进行配置后,接下来就要进行树莓派Linux内核的编译,需要树莓派交叉编译工具、树莓派内核。:驱动代码的编译需要一个提前编译好的内核,所以需要先编译内核,而编译内核又必须提前完成相关的源码配置;树莓派1的工程是bcmrpi_defconfig,

2401_86401589的博客 2390

一位业余爱好者花两年时间完成的STM32H7掌上电脑(软硬件开源)

1、项目背景 幼儿时期,还记得一个孩子用泡沫、马达和电池做了一艘电动快艇在河里转着圈圈,泛起的淡淡涟漪让我心潮起伏,驻足河边流连忘返。童年时期,一盒四驱车,让我体验到了毫不起眼的小零件可以组装出这么一台强劲的四驱车。再后来,小霸王学习机风靡时期,经常赖在大孩子家看着别人打游戏自己也感到无比兴奋。初中时期,受风靡一时的文曲星、步步高电子词典中“英雄坛说”、“伏魔记”、“魔塔”带来的深深痴迷,孩提时代就梦想着自己有一天能亲手打造一台硬件软件全自主设计的掌机。 这个梦伴随着我的成长,让我在大学时代选择了研究电子电

果果小师弟的博客 4221

树莓派——配置Linux内核适合树莓派

树莓派——配置Linux内核适合树莓派

NRWHF的博客 1904

为了随时随地能敲代码,他用树莓派手搓一台Linux掌上电脑

詹士 发自 凹非寺量子位 | 公众号 QbitAI手搓一台巴掌大小Linux电脑,只需树莓派加点儿零件就行?你没看错,有人都做出来了。36键触控键盘,4.3英寸触摸显示屏,Linux系统,功能一应俱全,单手可握:续航长达4小时,能外接显示器及输入设备:目前该项目在GitHub已获星超300颗。DIY掌上电脑,只为随时随地敲代码谈及为什么要做掌上电脑,小哥自曝——起初,自己只是想换掉基于Orange...

量子位 6371

基于树莓派5的智能巡检小车系统服务端项目_这是一个专门为树莓派5智能巡检小车设计的后端服务系统它通过BentoML框架构建了高性能的API服务集成了多个AI任务处理器包括指针.zip

基于树莓派5的智能巡检小车系统服务端项目_这是一个专门为树莓派5智能巡检小车设计的后端服务系统它通过BentoML框架构建了高性能的API服务集成了多个AI任务处理器包括指针.zip

kettle连接达梦资源库数据库插件

kettle自定义插件plugin database plugin 达梦插件 dm插件

weixin_42122126的博客 2170

Raspberry Pi 5:适合您项目的迷你电脑(含安装信息)

Raspberry Pi 是一款流行且价格合理的迷你计算机,可用于各种项目,例如游戏、教育、家庭自动化和安全。Raspberry Pi 基金会每隔几年就会发布 Raspberry Pi 的新型号,每种型号都具有改进的功能和性能。最新、最强大的型号是 Raspberry Pi 5,它于 2023 年 9 月 28 日发布,预计将于 2023 年 10 月底上市。在本文中,我们将探讨是什么让 Raspberry Pi 5 成为迷你 PC 怪物,如何获得一个,以及你可以用它做什么。

gongdiwudu的专栏 6371

别再手动量了!用Python+Open3D给BIM模型做‘CT扫描’,自动揪出施工误差(附完整代码)

本文介绍如何利用Python和Open3D技术实现BIM模型的毫米级施工误差自动检测。通过点云预处理、模型配准和偏差分析,系统能自动生成三维差异热力图和验收报告,显著提升施工质量检测效率。特别适合混凝土结构错位和钢结构安装偏差等常见问题的智能分析。

weixin_29284657的博客 243

太卷了!为随时随地敲代码,他手撸了一台Linux掌上电脑

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达手搓一台巴掌大小Linux电脑,只需树莓派加点儿零件就行?是的,你没看错,有人都做出来了!36键触控键盘,4.3英寸触摸显示屏,Linux系统,功能一应俱全,单手可握:续航长达4小时,能外接显示器及输入设备:目前,该项目在GitHub已获星超300颗。项目地址:https://github.com/brickbots/HandiP...

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 3925

EM4095低频RFID曼彻斯特解码实战:从原理图到MCU代码实现

本文详细介绍了EM4095低频RFID读卡器的设计与实现,从芯片工作原理、天线设计到曼彻斯特解码算法。重点讲解了基于STM32的MCU代码实现,包括定时器捕获、数字滤波和错误处理,为开发125kHz RFID系统提供实用指南。

oil88的博客 714

细说STM32单片机SPI-Flash芯片的FatFS移植及其应用实例详解

本文以开发板上的SPI-Flash芯片W25Q16为媒介详细介绍CubeMX中FatFS各个参数的意义和设置,分析生成的代码中FatFS各个文件的作用和关联,完成针对W25Q16的硬件访问层的移植。继续使用旺宝红龙开发板STM32F407ZGT6 KITV1.0。

wenchm的博客 1640

【Linux内核驱动基础】从零开始手搓一个从上层应用到底层驱动的IO口代码

本文主要记录了从零开始手搓一个从Linux上层应用到底层驱动的IO口控制代码

ArsenLupin的博客 1785

移相变压器Simulink建模与HVDC系统仿真实践

移相变压器是电力电子领域实现精确相位调节的核心设备,其通过特殊绕组设计改变输出电压相位角,在解决环网潮流不均、阻尼功率振荡等场景具有关键作用。本文基于MATLAB/Simulink环境,详细解析移相变压器的建模原理与技术实现,包括磁路耦合特性模拟、参数计算方法和控制策略设计。针对HVDC高压直流输电和FACTS柔性交流输电系统等典型应用,提供仿真模型搭建技巧与问题排查指南,特别涵盖新能源并网场景下的相位调节优化方案。通过实测数据验证,所建模型在稳态精度和动态响应方面均满足工程要求,为电力系统稳定性分析提供有

weixin_28278377的博客 270

folium 从点列表构建多边形:凸包、包络矩形与凹包(Alpha Shape)三种实战方案

在地理信息处理中,一个非常常见的需求是:给定一组散乱的点坐标,希望得到一个能"有意义地"包裹这些点的多边形——例如把一批采集点、观测点或兴趣点圈定成研究区域轮廓。本指南基于 folium 官方文档 [polygons_from_list_of_points](https://link.gitcode.com/i/b661d78efdb5c844f3b4370c645183df) 展开,完整给出在

gitblog_00190的博客 690

UG二次开发GRIP刻字

UG二次开发GRIP刻字

qq285503851的博客 1138

【QNX+Android虚拟化方案】129 - USB眼图参数配置

【QNX+Android虚拟化方案】129 - USB眼图参数配置

|~~~热爱生活、努力学习的小伙汁~~~| 821

用树莓派组装了一台电脑

大家好,我是涛哥。 树莓派是一款便宜的小型电脑,我当时买的时候大概300元左右,非常实用,可用作个人电脑,也可做服务器。 对于热衷DIY的人来说,从零开始,组装一下,挺有趣的。遇到了很多问题,最后总算完成了。效果如下所示: 一. 树莓派DIY前言 以前,登录公司的linux服务器时,经常受限于各种权限问题,甚至连服务器长什么样都不知道,没去机房看过。 之后,经常用ssh/串口/adb登录公司的linux/android设备。还用adb/usb登录自己的手机,远程操作手机。 后来,在W

认知 行动 坚持 4551

16、AI与无人机助力紧急器官移植及医疗物资运输

本文探讨了AI与无人机(UAV)集成模型在紧急器官移植和医疗物资运输中的应用。传统运输方式受限于交通、时间和环境因素,而基于图神经网络(GNN)的AI-UAV系统可实现高效、智能、全天候的医疗物资配送,具备实时温湿度监控、自动导航和适应复杂地形等优势。文章分析了该模型在血液、器官运输中的关键作用,展示了其在澳大利亚、中国、美国等国的实际应用案例,并通过表格与流程图说明运作机制。同时,文章还探讨了技术、法规和社会层面的挑战及应对策略,展望了未来技术融合、应用拓展和国际合作的发展趋势,凸显其在全球医疗物流中的广

lll78的博客 102

【树莓派开发】使用树莓派在Linux环境下编写C语言代码

文章目录前言1.创建test.c文件2.编译运行该文件3.编译并链接两个源文件结语 前言 如何使用树莓派编译C语言代码呢? 21年暑假的时候,学习编程的劲头高涨,然后冲动消费买了个树莓派4B……结果压根不会用,吃灰了半年 不过现在已经学完了C语言,也接触了一丢丢Linux系统下的gcc指令,可以尝试用它来编写C语言代码了! 1.创建test.c文件 首先我们需要在一个文件夹里创建一个test.c文件 点击test.c文件后,树莓派会用自带的Geany编辑器打开它 然后我们可以往里写入C语言最经典.

慕雪华年的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

哇,树莓派居然可以这么用!

树莓派是尺寸仅有信用卡大小的一个小型电脑,你可以将树莓派连接电视、显示器、键盘鼠标等设备使用。树莓派能替代日常桌面计算机的多种用途,包括文字处理、电子表格、媒体中心甚至是...

2256

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

树莓派之Linux内核基础

启动过程:----》电源----》fastBoot/Bootloader----Linux内核----》文件系统----》虚拟机----》HOME应用程序----》点某图标打开某APP。启动过程:----电源----》Bootloader(引导操作系统启动)----》Linux内核----》文件系统(根据功能性来组织文件,带访问权限)----》KTV点歌机。启动过程:----电源----》BIOS----》windows内核----》C,D盘----》程序启动(QQ)

weixin_55374007的博客 2972

【树莓派】树莓派4B最常用的 Linux 命令及说明

对于 Linux 新手来说,使用 Raspbian 系统会遇到比较棘手的问题,其中之一就是对各种 Linux 命令的学习。本文整理了一份常用的 Linux 命令及说明,供初学者对照学习。 命令在哪里输入?通过 SSH 客户端登录你的树莓派,或者进入树莓派的桌面运行终端程序,接下来就可以输入命令了。 什么是 sudo 命令?在一行命令之前加上 sudo,表示以系统管理员身份执行这条命令。如果...

Nieson2012的专栏 4417

Linux内核编译并移植至树莓派

本文详细介绍了如何配置和编译树莓派的Linux内核,包括使用厂家.config、makemenuconfig进行配置,以及内核编译的步骤。讲解了配置过程中涉及的命令行参数,驱动加载方式,以及编译后的检查和验证。同时,还涵盖了将新内核安装到SD卡的过程,包括挂载、模块安装、镜像更新,拷贝相关文件并最终将Linux内核移植至树莓派ARM平台。

weixin_46216674的博客 2455

用树莓派做linux电视盒子,用树莓派制造一台“口袋电视”

MAKER:MisterM/译:趣无尽 Cherry(转载请注明出处)本期向大家介绍一个废旧利用的案例,如果家里有搁置已久的小型电视机,那就赶紧动手起来吧!这个项目将给大家展示如何将一个废旧的便携式液晶电视低成本转换为复古炫酷的树莓派显示器。该项目将完整的展示将97年版的卡西欧EV-510转换为树莓派 Zero W为主体的便携式闭路电视显示器的所有过程,希望能让你受到启发并创作出其他更好的版本!在...

weixin_32424555的博客 1805

树莓派Linux源码配置,树莓派Linux内核编译,树莓派Linux内核更换

② 编译时报错及解决方案(亲测)● dmesg报错及解决方案(亲测)① 打包zImage文件。打包zImage成树莓派可用的xxx.img② 树莓派断电,拔出树莓派的SD卡,插到读卡器,读卡器插入电脑,映射到虚拟机③ 数据拷贝,挂载U盘④安装modules。含有设备驱动文件:比如HDMI,WIFI,USB,IO等⑤安装更新 kernel.img 文件,镜像名字是kernel7.img⑥ 把kernel_new.img文件,拷贝到data1分区,起名kernel7.img,覆盖原来的kernel7.img

m0_74985965的博客 1484
上一篇: 重磅消息:Spring 6.0 来了,太强了
下一篇: 目前见过最好的低代码开发平台系统项目【附源码】
编程IT圈
博客等级 码龄6年 1130粉丝 544原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值